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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

)

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

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

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

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

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

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

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

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

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

)

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

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

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

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

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

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

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

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

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

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

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

)

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

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

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

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

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

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

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

)

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

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

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

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

)

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

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

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

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

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

)

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

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

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

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

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

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

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

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

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

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

)

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

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

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

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

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

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

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

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

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

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

)

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

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

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

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

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

)

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

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

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

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

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

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

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

)

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

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

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

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

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

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

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

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

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

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

)

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

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

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

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

)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

)

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

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

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

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

)

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

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

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

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

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

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

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

)

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

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

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

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

)

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

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

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

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

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

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

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

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

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

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

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

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

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

)

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

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

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

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

)

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

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

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

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

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

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

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

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

)

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

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

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

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

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

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

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

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

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

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

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

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

)

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

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

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

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

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

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

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

)

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

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

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

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

)

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

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

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

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

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

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

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

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

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

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

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

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

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

)

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

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

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

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

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

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

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

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

)

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

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

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

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

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

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

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

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

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

)

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

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

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

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

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

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

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

)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

)

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

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

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

)

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

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

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

)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

)

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

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

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

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

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

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

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

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

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

)

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

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

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

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

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

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

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

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

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

)

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

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

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

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

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

)

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

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

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

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

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

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

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

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

)

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

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

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

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

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

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

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

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

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

)

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

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

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

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

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

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

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

)

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

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

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

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

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

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

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

)

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

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

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

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

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

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

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

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

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

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

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

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

)

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

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

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

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

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

)

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

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

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

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

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

)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

)

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

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

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

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

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

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

)

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

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

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

)

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

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

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

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

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

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

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

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

)

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

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

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

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

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

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

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

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

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

)

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

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

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

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

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

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

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

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

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

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

)

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

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

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

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

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

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

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

)

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

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

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

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

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

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

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

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

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

)

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

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

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

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

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

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

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

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

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

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

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

)

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

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

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

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

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

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

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

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

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

)

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

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

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

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

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

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

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

)

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

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

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

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

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

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

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

)

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

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

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

)

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

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

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

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

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

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

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

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

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

)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

)

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

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

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

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

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

)

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

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

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

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

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

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

)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

)

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

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

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

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

)

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

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

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

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

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

)

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

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

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

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

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

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

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

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

)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

)

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

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

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

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

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

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

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

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

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

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

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

)

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

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

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

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

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

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

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

)

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

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

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

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

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

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

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

)

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

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

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

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

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

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

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

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

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

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

)

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

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

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

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

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

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

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

)

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

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

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

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

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

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

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

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

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

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

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

)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

)

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

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

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

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

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

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

)

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

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

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

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

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

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

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

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

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

)

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

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

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

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

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

)

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

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

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

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

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

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

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

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

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

)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

)

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

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

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

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

)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

)

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

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

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

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

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

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

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

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

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

)

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

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

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

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

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

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

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

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

)

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

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

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

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

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

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

)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

)

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

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

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

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

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

)

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

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

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

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

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

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

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

)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

)

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

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

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

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

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

)

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

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

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

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

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

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

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

)

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

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

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

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

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

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

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

)

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

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

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

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

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

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

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

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

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

)

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

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

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

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

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

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

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

)

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

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

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

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

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

)

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

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

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

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

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

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

09/06/2026 10:07:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:32 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:32 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:32 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:32 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:32 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:33 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:33 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:48 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:48 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:07:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

[09/06/2026 10:07:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:48 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:48 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:48 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:49 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:49] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:49 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:49] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:49 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:49] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:49 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:49] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:49 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:49] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:49 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:49] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:50 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:50 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:07:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

[09/06/2026 10:07:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:50 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:57 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:57 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:07:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

[09/06/2026 10:07:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:57 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:58 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:58 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:58 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:58 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:58 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:58 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:58 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:59 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:59] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:59 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:59] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:59 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:07:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

[09/06/2026 10:07:59] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:59 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:59] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:59 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:59] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:59 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:59] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:59 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:59] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:00 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:00 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:08:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[09/06/2026 10:08:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:00 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:08:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

[09/06/2026 10:08:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:00 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:08:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

[09/06/2026 10:08:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:02 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:08:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

[09/06/2026 10:08:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:02 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:02 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:03 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:03 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:03 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:03 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:04 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:08:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

[09/06/2026 10:08:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:04 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:08:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

[09/06/2026 10:08:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:04 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:04 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:08:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

[09/06/2026 10:08:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:04 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:04 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:04 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:08:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

[09/06/2026 10:08:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:07 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:07 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:08:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

[09/06/2026 10:08:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:07 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:08:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

[09/06/2026 10:08:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:07 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:07 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:08 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:08:08 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 10:08:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:08 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:08:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

[09/06/2026 10:08:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:08 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:08:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

[09/06/2026 10:08:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:08 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:08:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

[09/06/2026 10:08:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:08 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:08 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:08 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:08 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:35 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:35 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:35 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:35 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:08:35 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 10:08:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:35 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:35 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:36 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:37 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:37 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:37 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:37 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:37 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:37 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:46 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:46 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:08:46 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 10:08:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:46 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:46 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:46 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:46 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:47 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:47 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:48 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:48 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:48 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:48 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:48 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:50 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:08:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

[09/06/2026 10:08:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:50 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:08:50 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

[09/06/2026 10:08:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:50 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:50 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:08:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

[09/06/2026 10:08:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:50 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:08:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

[09/06/2026 10:08:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:50 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:50 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:50 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:50 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:50 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:50 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:50 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:51 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:51 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:51 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:08:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

[09/06/2026 10:08:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:51 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:51 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:51 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:51 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:51 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:51 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:51 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:51 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:51 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:51 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:51 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:53 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:08:53 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 10:08:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:53 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:53 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:53 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:53 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:53 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:53 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:53 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:53 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:53 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:08:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

[09/06/2026 10:08:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:53 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:08:53 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 10:08:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:53 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:53 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:53 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:53 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:53 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:08:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
[09/06/2026 10:08:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:53 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:54 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:54 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:54] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:54 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:54 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:54] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:54 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:54 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:54 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:54 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:54 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:54] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:54 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:54 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:54 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:54] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:55 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:55 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:55 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:55 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:55 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:55 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:55 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:55 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:56 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:56 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:56 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:08:56 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 10:08:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:56 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:56 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:56 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:56 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:56 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:56 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:56 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:56 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:56 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:56 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:56 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:56 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:56 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:56 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:56 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:56 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:56 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:57 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:57 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:57 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:57 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:57 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:57 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:57 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:57 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:08:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

[09/06/2026 10:08:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:57 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:57 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:57 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:57 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:58 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:09:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:09:01 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:09:01] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:09:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:09:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:09:01 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:09:01 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:09:01] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 10:09:01] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:09:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:09:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:09:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:09:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:09:01 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:09:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

[09/06/2026 10:09:01] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:09:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:09:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:09:01 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:09:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:09:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

[09/06/2026 10:09:01] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:09:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:09:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:09:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:09:01 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:09:01] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:09:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:09:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:09:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:09:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:09:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:09:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:09:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:09:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:09:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:09:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:09:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:09:01 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:09:01] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:09:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:09:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:09:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:09:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:09:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:09:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:09:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:09:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:09:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:09:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:09:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:09:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:09:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:09:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:09:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:09:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:09:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                
[09/06/2026 10:20:35] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '9291721'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 10:20:36 - INPUT: {"rutTecnico":"9291721"}[09/06/2026 10:20:36] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 9291721 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '9291721'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 10:20:36 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 05/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 05/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 05/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 05/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => ESTUDIO 2520AC
            [FechaLlamado] => 05/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 05/06/2026
        )

)

09/06/2026 10:20:38 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:20:38] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:20:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:20:44 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:20:44] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:20:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:20:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 10:20:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 10:20:46 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:20:46] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:20:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:20:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 10:20:48 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:20:48] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:20:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:20:49 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:20:49] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:20:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:20:50 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 10:20:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

[09/06/2026 10:20:50] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:20:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:20:54 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:20:54] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:20:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:20:58 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 10:20:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

[09/06/2026 10:20:58] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:20:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:21:01 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:21:01] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:21:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 10:21:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:21:02 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:21:02] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:21:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 10:21:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:21:04 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:21:04] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:21:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:21:11 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:21:11] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:21:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:21:11 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:21:11] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:21:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:21:14 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:21:14] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:21:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:21:42 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:21:42] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:21:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:21:43 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:21:43] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:21:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:21:44 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:21:44] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:21:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:25:02 - INPUT: {"rutTecnico":"9291721"}[09/06/2026 10:25:02] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 9291721 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '9291721'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 10:25:02 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 05/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 05/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 05/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 05/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => ESTUDIO 2520AC
            [FechaLlamado] => 05/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 05/06/2026
        )

)
[09/06/2026 10:25:02] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '9291721'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 10:25:04 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:25:04] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:25:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:25:07 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:25:07] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:25:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 10:25:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:25:16 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:25:16] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:25:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:25:17 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:25:17] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:25:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:25:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 10:25:26 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:25:26] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:25:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:25:28 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:25:28] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:25:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:25:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 10:27:40 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:27:40] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:27:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:27:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 10:27:43 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:27:43] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:27:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:27:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 10:27:45 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:27:45] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:27:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:27:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 10:27:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:27:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 10:28:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 10:28:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 10:28:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 10:28:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 10:28:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 10:28:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 10:28:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 10:28:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 10:28:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            
=========================================
FECHA: 09/06/2026 10:28:28
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-2TzcfFGPGQdw6YhdRr3tV_FXc2CnplDi1IFSD6zEbzTLCLT+PD3
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "78338181",
    "serieinterna": "EP3171",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "9291721",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "insumo",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12880",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACIAMkDASIAAhEBAxEB\/8QAGwABAQADAQEBAAAAAAAAAAAAAAYBBAUDAgf\/xABAEAABAwMCAggCBgcIAwAAAAABAAIDBAURBiESMRNBUWFxgZGhIrEVIzJSwdEHFDd0gtLwFiQlQpLC4fFDorL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAwEQACAQIEBAQFBAMAAAAAAAAAAQIDERIhMUEEIlFxE0JhgTLB0eHwFDM0cpGhsf\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAEREAREQBERAEREAREQBERAFyNQ3wWakaY2CWpmPDFGevvPd+a66mI\/8R19IXfHHQQ4bnkHHHv8AEfTwU4JN3ZRXlJRSjq3Yw226tlZ0sl2hjkO\/R42HcSB+aUuo6621LaLUNP0fFsypaPhPjjb05diqFq3C3wXOikpahuWPGx62nqI7wu408mit0JRzpyd\/V3TNlrg5oc0ggjII61lTukamUU9Va6h2ZaCXgzk\/Z5Dn3g+yolGSs7F9Kp4kFIIiKJYEREAREQBERAEREAREQBERAEXy97I43SSODGNBLnOOAAOslTMms+Jz5qW2zz0cRIkmAIA7Or5qSi5aFVStCn8TKhF40lXBXUzKmnfxxvGQcYXsoliaaugiIh0KXtX931zc4DnMsfGMjwP4qoUrqJxtWpLbds4id9VKcZA7T6H\/ANVZDO6MvE8qjPo\/sVSIvGqqY6OllqZThkTC4+SrNLaSuyesYI1deNsNz5ZyMqnUfpauo6SlqrlcKuCKetmLiCcHGezsySuuNW2Iu4RXjOcbxvA9cK2cW3kjHw9WnGmsUkr3evVnZReNNWU1bEJKadkrD1sdleyqNiaaugiIh0IiIAiIgCIiAIiIAiIgJrV8stQaKz08nA+slHHz+z+Wd\/JdymoKakoW0UMQEAaW8J3yDzz4rg1GZ\/0h0wPKCnJA7dnfzeyp1ZLJJGWilKpOb629kSdoL7BqSSzOJ\/VKnMlOXHkcf8EeQVYp7WFJK6giuNNtPQyCQEc+Hr98H1XYt1Y24W+CrYMCVgdjsPWPVJZpSFHklKl7rt9jZREVZqC5OpqA3GxTxMaXSMHSMAPMj\/jK6yLqdnchOCnFxe5y9OV30hYqaYuy9rejfvk8Tdt\/Hn5rZudviulBJRzOc1kg5tOMEbjx3U\/Y8WbVFZZ9xDP9bAD4Zx6ZH8Kq1KWUropovxKWGe2TODRaNs9K0dJC6peN+KV34DZb5sdpczgNtpcYxtC0H1wt9Fxyk9yyNGnFWUUSNwpmaZvdDV0OYqSof0c0WSWjOMn03\/hVcpzXMbX2DjI3ZM0tPqPxWPpmo+4z\/U\/+ZTacopmaM40akobZMpF5zTw00RlnlZFG3m55wAvK4V8FtopKuodhkY5dbj1Ad5Uxb7XU6qP0leJHtpuI9BTsOBjt8PcqMY3V3oX1Kri1CCvJ\/mZuza2tjZHR08VRUuHIxs2Pqc+y8\/7ZPYC+azVccQGeMg8vTs71Q0tJT0UIhpoWRRjkGhey7eHQj4dd5udvY5Vu1Ha7o7o4KgNkzgRyfC4+Hb5LqrlXTTluurXGWERzH\/yxjDs78+3mufY6+rt9w+gbo8vkALqeYn7beoex9MLmFNXiFUnCSjU33RSoiKBpCIiAIiICYh3\/AEh1AIzw02x7Nm\/15qnUxB+0Sp\/dh8mqnU57djNw\/m\/szzmhZUQSQSDLJGlrh2gjBU5pR77fV11infl1O\/jiz1tP9A+ap1MakYbde7demN+Bruind1AHkTjuJ9AuwzvE5X5XGqttez\/LlOiwCCMg5BWVWagiIgJrWEMtOKS802BJRP8Ai72kjGe7O38S2NM3yW8irM3ADHICxoGMMI2+XNdaspIq6jlpZhlkrS093eoPSk0lr1M6hnPDxl0LhnbiHL3GPNXRtKDW6PPqt0uIi\/LLXvofoaIipPQJnXL3m2U1PGcPmqGgb45A\/iQut9CUX3X\/AOpcjUANw1Jarew5ETumlA3wOe\/k0+vhmnVjdopGSEVOrNtX0RL3Rjr5qmC1nBpaQdNMMg8R7D6geBVO1oa0NaAABgAdSmbTj+3N2yQHdGMN7R8O\/wAvVU6T2RLh88U3q2\/9ZBERVmkKY1aGwV1prGtHTMqA0E9YyDgqnUxqwia4WijaMvkqOLwGQM+\/sp0\/iM3FftP2\/wClOiIoGkIiIAiIgJiD9olT+7D5NVOpiD9olT+7D5NVOpz27Gbh9Jf2YWpdLfFdLdLSSjZ4+E\/dd1H1W2sFwaMuIA7Sop2NEkpJp6HB0lXSzUMtDUu\/vFC8xOBOTw9XuCPILvqOlraO361iqaOpilirR0c7Y3B3C49e3fg+qsVOazv1M\/DTvFwbzjl9AiIqzSFGaytslJVw3yk+FzXASYHJw+y78PRWa8aqmhrKaSmnZxxSDDgpwlhdyivS8Wm477dzNNOyqpoqiM5ZKwOHgQvqWVkMT5ZHBrGNLnOPUBzK+aaBlLTRwRDDI2hrR3BTd5uM18qXWO1Djadqmfm1ozy\/ryXFG7O1Knhwu9enVmdMcd1udbfZmEB7uih4upu3LwGN+vJ781C16GjioKKKlhaGsibgY9z6rYSTuxRpuEEnrv3JjUtNPbq+DUFEzidD8NQz7zeWfw9Oxd6groLlRx1VO7iY8eYPWCthzQ5pa4AgjBB61JSxS6Ruz6qJpdaalwD2DfonH8vkcKS5lbcqlejNz8r19H1+pXIpp13motRxySziW23BoED2gYa7Yc\/659ypVFxsX06ine2wUs3\/ABPXzjuYrfFt2cX\/AG72VQ5wa0ucQABkk9SmdGsfOblcnhwNVUHAcMcsn\/djyUo5Jsqrc04Q9b\/4+5ToiKs0hERAEREBMQftEqf3YfJq2LhqaSmrpKGjtdRVzR7OwCADzHIHqK14dv0iVGds0wx37NVK1jGuc5rQHPOXEDc9W6tk0mrrYxUoykpKLtzMmM6wuIBAp7czPXgk\/wD0fkvpujXVJ4rndqqqOc4BwPfPcqdFzxHtkWfpYP425d2TV40tRtscjLfTiOeLEjXDdzy0cs+GfNdKwXMXW0xzkgyN+CTGccQ8fI+a6al9OA0Oo7vbSfh4umY0cgM\/k5vol8UXfYi4qlVi4qyeXzRUIiKs1hERAad1opbjb5KWKqdTGTYyNbnbrHMc1i12qltFIKembtzc8\/aee0rdRdu7WIYI4sdswiIuEwvOaGOohfDMwPjeMOa4bEL0RBqfn13t7rZPJZiXPpan62kLtyyQZ+EePLzBVZpy5i6WaGVzuKVg6OXPPiHX58\/NZ1BZ23i3GJuGzx\/FC89R7PNTehal8VyrKOb4XvbxEHY8TTgj39le+eF90eZFOhxKj5Zfn53Ky7S9BZ6yXrbA8jxwVoaPiEem6cgY6Qvdj+Ij5BbOoYnzafrWM59ET6b\/AILy0vNHNp2kMZ+wzgd3EHdV+T3NT\/kLt8zroiKBpCIiAIiICYnPRfpDp9sdNSnz2d\/KqdTF4+p1raJzsHtMYI553H+5U6nPRdjNQylNevyQREUDSFxW2moj1c+5xlgglg4JMncnYYA8gu0i6nYhOCna+zuERFwmEREAREQBERAEREAUJrC2yW64x3ekLmCV\/wATmnHA\/wAu3f3V2tO7ULbla6ikIBMjDwZ6ndR9cKcJYZGfiaPi02t9jT03eBerXxyAdNGeCVvb2Hz\/ADXPktN2sU8s9kc2eCQ8TqZ49dydz4f9zemLi6z3sMmPBHKeimaf8pzsT4H8V+mKc1gllozPw8lxNJYnzLfcmG6zFMSy52uqppG7HhGRnzx+K24dYWSY4NUYznA443D3xhdsgEYIyCtSe0W2pGJqGnfjkTGMjzULwexfgrx0kn3X0NObVdkhbk1zXnsY0uJ9li06khvFa+CnpZ2xtZxdK8ADOeWy2orFaYSCy3U4I6zGD81vBoaMNAA7AjcbZI7GNZu8mreiMoiKBoJvVsM36xaquKJ8gp6jLuBuSN2nl\/CqRYIB5jKypN3SRXGnhnKXUIiKJYEREAREQBERAEREAREQBERAEREBGar0vPPVGvt0JkMh+tjad8\/eCqLW6d1rpjUsLJuiaHtcMEHCIpuTcUmZoUY06rlHc20RFA0hERAEREAREQBERAEREAREQBERAEREAREQH\/\/Z",
    "razonSocial": "CONSORCIO RAB INFINITESPA",
    "nombreTecnico": "DANIEL FUENTELZAR",
    "nombreContacto": "ROCIO  ESPINOZA ORDÓÑEZ",
    "correoContacto": "rocio.espinoza@rabinfinite.cl",
    "correoCliente": "null",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INSUMOS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56956281303",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I1273\",\"id_control\":\"28903\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1274\",\"id_control\":\"28903\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1275\",\"id_control\":\"28903\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1276\",\"id_control\":\"28903\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "10:28",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "10:26",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 10:28:28 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:28:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 10:28:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:34 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 10:28:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

[09/06/2026 10:28:34] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:28:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:28:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 10:28:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 10:28:34 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:28:34] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:28:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:28:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 10:28:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 10:28:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 10:28:38 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 10:28:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

[09/06/2026 10:28:38] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:28:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:28:38 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:28:38] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:28:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:28:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:28:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:28:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:28:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 10:28:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 10:28:42 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 10:28:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:28:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 10:28:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

[09/06/2026 10:28:42] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:28:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:28:42 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:28:42] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:28:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:28:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:28:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:28:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:28:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:28:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 10:29:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 10:29:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 10:29:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 10:29:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 10:29:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 10:29:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 10:29:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 10:29:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 10:29:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 10:29:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                
=========================================
FECHA: 09/06/2026 10:29:27
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary--Y0Gv7+I_g2stox+qJGjae5s+8E6jJ6_GGf43lfDNy9B0Y+SkFW
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "78338181",
    "serieinterna": "EP3155",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "9291721",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "insumo",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12881",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACMAOIDASIAAhEBAxEB\/8QAGwABAQEAAwEBAAAAAAAAAAAAAAYFAgMEAQf\/xABCEAABAwMBBAcFBQUGBwAAAAABAAIDBAURBhIhMUETUWFxgZGhFBUiMrEjQsHR8AckNlLCFmJzsuLxMzQ1cnSi0v\/EABgBAQADAQAAAAAAAAAAAAAAAAACAwQB\/8QALxEAAgECBAQFAwQDAAAAAAAAAAECAxESITFBBBNRcSIyYbHBM6HRgZHh8BQjQv\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAEREAREQBERAEREAREQBERAEREAWBctTdHVewWmD26s4ED5WHt68c9471z1Pc5qWmioqLfWVjthgHEN5n6evUvTYrJBZaMRMw+Z++WXG9x\/IKaSSuzNOU5z5cMrav4XqZYoNWVXxzXKCmB+4wcPIfjySRmq7WGOjlhuUY+ZpGHcfA8xw6uHXTomP0H+MtpO\/cx7NqSju73Qhrqepbxhk4nrx1rYWJqHTzLrF7RT\/AGVdFgxyA4zjkfwPJdmnbs+6ULmzsLKmnPRyg8z19nAo0mroU5zjLl1Ndn1\/k10RFA0hERAEREAREQBERAEREAREQBERAEREARF4am92yjnEFRWxRyEE4J4d\/VwXUm9CMpRirydj3IuLHskaHscHNPAtOQVyXCQREQExI0VX7QYw8hwpqfLW9Rx\/qVOpeY+x\/tBie75aun2QTyOP9I81UKc9uxm4fWfdhERQNIUxpv8AiO+bIGyJuIHPacqGrqWUdJLUyEBkTC45PUFh6Np5Bbpq+cHpa2UyHPMf75U45RbM1TOtBLa7+CiREUDSEREAREQBERAEREAREQBERAEREAREQHivFb7utFTVg4dHGdgkZ+I7m+pCx7Bp2gms7KitpmTzVWZHOeDkA8MdW79FfdcyFliYwbzJO1uMZzuJVDDG2GFkTflY0NHcFZe0MtzK4qpXakrpL3JQGfR1e1hc6W0VL8DPGF3688Kta4OaHNIIIyCOa8tzoI7nb5qSUDEjfhOPlPIrJ0bXPqLU6jmyJqN\/RuaRvA5fQjwR+KOLc5D\/AFVOXs9PTqihREVZrMTU1rnrqWKqoiRWUjtuLHE9Y9F6LDeY7zQCUDZmjw2Zh5O\/IrTUpe6GexVvv21j7Mn96gHBwPE\/rgd\/WrI+JYWZaidKXNWm\/wCSrReegroLjRx1VO8OY8Z7jzB7VwudNPWW6anpqg08r24bIOX5Z4KFs7M0YvDijmTOrbq64PZZbaDUPc7M3RfFw+7+J6sLug05eamBkNZczS0rQA2np\/5eokYH1WrYLFDZKTZBElQ\/fLJjj2DsWsrHO2UTJHh3NupV1e3wTLdD0cRD4K+sjlznb2m8fILjSVtysd2itt0nNVTVLsQ1LuOcYwfHCqFOa3YPcjJgBtwztc0kZ6wkZOTtIVaMaMHUp5Nfco0XVSvMlLC93FzGk+SKo2J3VzsJAGScALOn1DaKYkSXCHI5Ndtcs8srHrmTajv01s9pfDR0gzK2M4LyfQ8u7tWpTaXs1K0BtDHIQPml+Mnz3KzDFambmVJt8tKy3Yi1RZJnBrLhGCTj42uZ9QFpRTRVEYkhlZIw8HMcCPMLwzaes9Q3ZfbqcD+4zYPm3Cyp9HNp39PZq2akmH3S87LuzI3j17ktB7jFxEc2k+2XuU6KWj1Hc7S4R3+iIYTstqIhucd3Vu4ZPLhwVLDNHUQsmheHxvGWuadxCjKLRbTrRqZLXpudiIiiWhERAEREAREQEzq\/7aptFIQMTVQznvA7\/vKmUxqn\/rmn\/wDyf6mKnU5eVGal9Wp+nsFK1JfY9ZxzgYpbnhjgOAfuH1wfEqqWNqq3OuNkkEf\/ABYD0zMcyAcjyz6JB52e53iItwxR1WaNlFnWG4e87NT1LnB0mzsyf9w3H8\/FaKi1Z2LoSUoqS3C4ua17Cx7Q5rhggjIIXJFwkQtbRVmm77E+jfM23zzNd0cTjv372Ec+fgrpfCAeIyvqnKWKxRSoqk3Z5PboERFAvCmdcv27bS0jMGWeoAa3rwD+JHmqOWVkMT5ZHBrGNLnOPIDiVK2uOTUmoHXeZpFHSO2aZpbufvOD3jj346lZDJ4uhl4l4o8pay9t2VbGCNjWN4NAARckVZqJiE+w6+mY4FrK2EFvAAkAf\/JVOpfWcLoG0V3haOkpJRndxGcjPZkeqpYZWTwsmjOWSNDmnsO9WSzSZlo+Gc4et\/3OaIirNR1zQxVETopmB7HDBa4bipWaGXSFximp3SPtU78SR42ixx9eWR3YVcvFeKVlbaKqneMh8Zx3jePUBTjKzs9CivTxLEvMtD1tc17A9py1wyD1hclh6OqHVGnIA45MRdHnOdwO70IC3FGSs7FlOeOCl1CIi4TCIiAIiICY1P8AHqCwsHEVG1\/7M\/JU6mNRb9T2MDeRITjxCp1OXlRmo\/Uqd17IL4QCMEZBXGSWOFhfLI1jRxc44Cwq3WdrpiWU5kq5N+BE3dnvP4ZXFFvQtnVhTXidjy2ICzanrrPh3Qz4lg6huzjy3Z\/uqqUDda+5S19LfZLTJSxUrg3LiQXDPA8N288uavGPbJG2Rjg5rgC0jmFOotGZ+EmvFBaJ5dmckRFUbAiIgC4uc1jC97g1rRkknAAXTW1sFvpH1VS\/YiYN5xnwUwW3DWMvxCShtbDw+9KeX64DtUoxvm9CirWUHhSvJ7HKrrajVdb7vtxcy3MIM9Rs\/Pjlv+ip6SkhoaSOlp2bEUYw0L5R0dPQUzaaljEcbOAH1PWu9dlK+S0FKk4tym7yf9sgiIoF55blRMuNuno3nAlZjPUeR81kaPq3vt8tvqD+8UMhjc0nfjl65HgqFSlzLdO6niugZ+61oMc+Pundv9AfNWRzTiZa3gnGr+j7P8Mq0XwEEZByCvqrNQXXUENppXHcAwk+S7F47vOKa0Vcx+5C7HacbvVdWpGTtFsyNDNI0+SecziPIKjWJo+ExabpyRgyFz8eJH0GfFbalPzMq4ZWox7BERQLwiIgCIiAmLxh+tbQw8mF31\/JaF6uFzp3sprZQGollaSJCfhZ38vVZ91\/jq1f4R\/qVOrG7WMdOLk6iTtn8ImItJz1z2z3y4y1Mmc9Ex2GDs\/2AW7RWyit0exSUzIh1gZJ7yd5XqRRc2y6FCnB3Sz67nRW0kVfRy0s7cxyt2T2dR8DvWBpepmoqqosFY7MlN8ULv5mfogjvPUqZTGq2Pt9XQ32BmXU79iXHNp\/RHipQz8JXXWBqqtte39zKdFwikbNEyVmdl7Q4ZGNxXNVmoIiIDjJGyVhjkY17HcWuGQV9a0NaGtAAAwAOS+ogCIiAIiIAvBera262uakONpwzGTycOC96LqdncjKKlFxejMDSNydV2w0k+RUUZ6N4PHHL6Y8FvqOvMjtO6oiuccZFPVAiYN4OPPuPAqvY9skbZGODmuALSOYU5r\/AKW5n4ebs6ctY5fg5LB1nUdBp2Vu1s9M9seRx45PoCt5TGrcT3Cz0PKWoy7sGQPxK5T8yJcS7UZW3y\/fI3bbTCktlNTgY6OJrT343+q9SIoPMvSSVkEREOhERAEREBMXX+OrV\/hH+pU6nblS1Ems7ZUMgkdCyMh0gYS1vzcTwColOeiM1BNSn3+EERFA0hZ1\/pzVWKshbG6RzoyWtaMkkbxgd4Wii6nZ3Iyjii4vczdPNmZYKNk7CyRseC1wwQM7t3dhaSIjd3cQjhio9AiIuEgiIgCIiAIiIAiIgPLcqCK50EtJN8sg3OxnZPIqb0zeJqKq9wXMbEkZLYXn\/L+R8OpVyn9UafN0gFVSDFbCPhIONsdXf1KyDXlZlrwkmqtPVfdFAsq+2Y3aKF0U3QVNM\/bhk6jkZ+g8l49Mag94xexVjtiuh3EOGC8Dn39YVCotOEiyLhXp+jJdtVrKmaA+hpaoDi4EAnycPovpu+qm73WSIgccO3\/5lTou410RDkS2m\/t+CY\/tNd6f\/m9PT7I4vjJIHofqu+k1nap3bE5kpJAcESs3A94\/HCoF5qq3UVcMVVLFN2uaCR4rt4vVDl1o+Wd+6\/B2QVMFUzpKeeOZn80bg4ei7VNTaUkpJvaLHWvo5B9x7i5h4nB49nHK6zetQ2lubnbRUxAj7WDkOZOM\/QJgT8rOc+UPqRt6rNFSi66eZtTTxzsa5rZGhwDxgjPWF2Ks1J3zCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAwL\/AKbZXONfROMFfH8TXN3bZHDx7U05qP3qX0lXGIayIb28NvrOORHMfob68gtlELh7wEAFSRgyAkZHDeOBU8V1ZmZ0XGpjp5X1XX+T1oiKBpCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiID\/2Q==",
    "razonSocial": "CONSORCIO RAB INFINITESPA",
    "nombreTecnico": "DANIEL FUENTELZAR",
    "nombreContacto": "ROCIO ESPINOZA ORDÓÑEZ",
    "correoContacto": "rocio.espinoza@rabinfinite.cl",
    "correoCliente": "null",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INSUMOS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56956281303",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I1240\",\"id_control\":\"28904\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1241\",\"id_control\":\"28904\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1242\",\"id_control\":\"28904\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1243\",\"id_control\":\"28904\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "10:29",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "10:26",
    "horaDespacho": "10:28",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 10:29:27 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:29:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 10:29:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:33 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:29:33] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:29:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:29:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 10:29:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 10:29:33 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:29:33] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:29:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 10:29:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 10:29:33 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 10:29:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[09/06/2026 10:29:33] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:29:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:29:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:30:19 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 10:30:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

[09/06/2026 10:30:19] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:30:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:30:19 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 10:30:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

[09/06/2026 10:30:19] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:30:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 10:30:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:30:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 10:30:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 10:30:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 10:30:19 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:30:19] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:30:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:30:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 10:30:21 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 10:30:21 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:30:21] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:30:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

[09/06/2026 10:30:21] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:30:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 10:30:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:30:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:30:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 10:30:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 10:30:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 10:30:21 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:30:21] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:30:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:30:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 10:30:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 10:30:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 10:30:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 10:30:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 10:30:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 10:30:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 10:30:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 10:30:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 10:30:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                
[09/06/2026 10:30:55] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 10:30:55 - INPUT: {"rutTecnico":"24456550"}[09/06/2026 10:30:55] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 10:30:55 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76464003
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 08/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TPORT LOGISTICS SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76917086
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 08/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 08/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76423913
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 08/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 08/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 04/06/2026
        )

)

09/06/2026 10:30:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 10:30:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:56 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 10:30:56] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:30:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:30:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            
=========================================
FECHA: 09/06/2026 10:30:59
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-EydY8dU1s.yvXLoX6p1uINMleNarArqoqEEfq+xoYTIfb9HXP8I
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69253200",
    "serieinterna": "EP2536",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "9291721",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "insumo",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12882",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAB\/APgDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgIDAQf\/xAA\/EAACAQMCAwQGBwYFBQAAAAAAAQIDBAUGERIhMUFRcYETIjJhkaEUI0KxssHRFTM2cnPwFjVDkuEkUlWCov\/EABgBAQADAQAAAAAAAAAAAAAAAAABAgME\/8QALhEAAgIBAgQEBAcBAAAAAAAAAAECEQMhMRITQVEycYHBBBTR8CMzUmGRoeGx\/9oADAMBAAIRAxEAPwD9mAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABxVk4Upyik3GLaTK7T+Wlmsb9KnCNOSm4OMXvttt+pNOrKOaUlHqzxzGprXGS+j0Yu7u2+FUab6P3\/ofMKs7cXMr3JzhQoyg1C1jHmufV93x+BZUsfZ0LmdzStaUK1T2pxik2SS1qqSM1jm58U5ei9+4ABQ3AAAAAAAAAAAAAAAAAAAAAABGyNWpRxt1VpfvKdGcoeKT2CIbpWSSmyuqMdi26XG7i47KVLnz976IrbaGW1BgbGMbtU6c1NXNT7UtpNL5L3dS3xencdiUpUKPHVX+rU5y8u7yNKjHc5uZlypctUu79kVUZ6oze06ap4q3b3XFvxtf34HX+Er2q97jUF3UTXNLf8AOXeacDjfTQn5aD8bbfn9DMLRi355e82\/mNNFcMUt29l1Z9BVyctzTHihj8KAAKmoAAAMxor6qnkbXoqVy+Xd2fkaczGmPq8\/naS6en4l7vWl+vyLx8LObLplxvz\/AOGnAPG6u7eyoSr3NWNKnHrKTKHQ2krZ3Vq06NKVWrNQhBbylJ7JIqMPnZ5nIXMaFDayopKNZ7pyl\/f5d5VSd5rKu4wdS1xNOXXZcVVr+\/BeJqbS0oWNtC2tqap0oLZJGjSiqe5zQnPLK46RX9\/4ewAMzqAAAABVZbUNhiIyjWqqddLdUYc5Pu37vMlJvRFZzjBXJ0i0clFbyaS72fIyjOKlCSlF9GnumZSlicrqSpG6y9WdrarnTt6fJ+fd4vn4GntLWlZWlO2opqnSXDHd7vYmUUupnjySm74aX30PYAFTYAAAAAAEXJ\/5Vd\/0J\/hZKIuT\/wAqu\/6E\/wALJW5WfhZWaM\/hqh\/NP8TL0otGfw1Q\/mn+Jl6Wn4mZfDfkx8kAcTq06bip1Ixc3tFSe3E+5HZQ3AAAAAAAAABmNOfxNnP6q++RpzMYduGtcvTT9WUFJ+PL9WXjszmzePG\/39macpMhp1ZXMQuby4lO0pwXDbptLi7fL5\/AuwVTa2Np44zVSOYQhTgoU4qEYrZRitkjoFHnNSUcdva2i+k38\/VhSh63C\/ft93UJOTpETyRxxuRMuMxb2+Wt8a1Kdaum\/U2fBst+YIOm8JWsnVyGQl6S+uecm+fAu7x7\/AEySTpEYnOUeKel9C+PjaS3b2SPpmNQX9xkb+On8bJKdRb16qf7tLnty6dOfil2iMbYy5Fjjf8AB8yGfuspcvGafXHPb6y6+zFe5\/n8CdiNM2eMca9SP0i86yrT7H27Ls+8n47G2uLtVQtaSgtlxS25zfe2SyXLpHYzhhbfHl1f9Ly+oABQ6QAAAAAAAAARMq1HEXknySt5t\/7WSyq1NcRt9O3knLbip8C97ly\/MmOrRnldQb\/Yj6NTWmbdvtlNr\/cy9KzTls7TT9nSkmn6Piaa224nxfmWZM3cmVwKsUU+yK3OYmGXsHS3cK1N8dGae3DIi6WytXI4+VG6bd1ay4Ku\/V9zfv5P4F4ZWpviNdxkuVDJQ2e0eXF0+O6T\/wDYtHVOJnl\/DyRyLro\/Y1QAMzqAAAAAABmMvbXuKz6ztnRdxRqQULinBby226+HJfA04LRlTMsuNZFV1Wpn4a1xD5VZVqMl7UZ03un3cjirrbG8Xo7WlXuqj9mMYbbvz5\/Ivalna1W3UtqU3LrxQT3OqVCjR39FShT3\/wC2KRNw7GfBn24l\/H+mZS1PnY7T4MVbN8+TVRr7\/wAJbYnT9jh1xUYupXftVqnOT8O4tAHNvRFoYIxfFLV92AAUNyuzuUjiMVVun7fs013yfT9fIiaWxsrWxd7c+teXr9LVk1zSfNL57v3sq8zWoZPVNGyvK9OhZ2a45+lmoqpLfpzfbyXxLW71dhrRP\/qfTyX2aMeLfz6fM14Xw0upw8yDyuc3SjovPq\/YuwZhasvLjnZYG6rQfSfPb5L8ws7qKS3jgGt30bZXlyNfmsfS36M04Mx+3NSf+A\/+mP8AF1xZ1FHLYmvbQctlUSbT8ny+DHLkPmsfW15pmnBHsr+1yND01pXjWhvs3HsfvXYSCmx0Jpq0AACQAAAZjW9SVS0ssfDfjurhbbdqXL75I05l5t5LXsIJOVLH0t2104mu\/wAZL4F8e99jm+K1hwfqaX36GmjGMIKEVtGK2S7kdAFDpBmtb0nHH219T2VW1rpxbXTf\/lI0jaS3b2SMnqXJUsy6WFxjVzWqVFKcov1Ypb9vQ0x3xWcvxbXKae728zVUqiq0oVF0nFSXmdnFGmqNGFJPdQio7+B2ZnSttQeU7q3p14W869ONaa3jTc0pS8F1Z6kerY2te6pXVWjGdaj+7m+sSUHfQkAAgkAAAAAAAAAAAAgX+DxmTmql5aQqTX2k3F\/FNH23w2MtHxULGhCS6S4E38WTgTxOqspy4XxUrAAILg5nCFSLhOKlF9VJbpnQAMjm8XLAV4ZvEp04QklXoRe0XHw7v+Gam2uIXVrSuKfs1YKa5963K3VVeFvp27c\/tx4IrbfdtntgKM7fA2dOa2kqSfTbrz\/M0buKbOTGlDM4x2av1LEAGZ1kbIWkr6xq20a86DqLb0kHzR60KcqNvTpSqSqShBRc5dZNLqz0BN9COFXxAx+mL60t\/wBpZG\/r0qFWtX5xqS2nsufTr29nd7jYFXU03iKt3K6qWUJVJ85Lnwt7777dC0WkmmYZoTlKMoVpe5XVtaUJ1HSx1jcXtTblwx2Xy3fyOVeauvl9TZW9lBvdSqe14c2\/uNHRo0remqdClClBdIwikl5I9CeKK2RHJyS8c36aGYelb3INTzGYq11um6VJbRT93Z8i7x+JscVCUbK3VLi9p7tuXmyYCrm3oXhgxwdpa992AAVNgAAAAAAAAAAAAAAAAAAAAAAAAD5KSjFyk0klu2+wy+RzNxnLp4jCS9Rr6+6XSMe3b9e3sLRi2ZZcsca136LucZOotS5+hjLealaWkvSXEue0n2r4cvN9xq0klslskQ8Vi7fEWUbehFb7Ljnts5vvZNJk09FsVw43G5S3f3QABQ3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHv53dOyqzsaUKtyl9XCb2Te4IbpWSCoyOp8XjpOnKv6asuXoqK4nv49EVTx2p80tr68p2VtPrTpdWvLr5suMXp3HYlKVCjx1V\/q1OcvLu8jSord2c3My5PBGl3f0KV2uZ1TNSu+LH45veNNe3Ne\/v8+XuNJYY61xlsre0pKnDq++T72+0lArKTenQ0x4YwfE9X3AAKmwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB\/\/2Q==",
    "razonSocial": "ILUSTRE MUNICIPALIDAD DE SIERRA GORDA",
    "nombreTecnico": "DANIEL FUENTELZAR",
    "nombreContacto": "CARLOS HIDALGO PRIETO",
    "correoContacto": "administrativo.daem@munisg.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28906\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "10:31",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "10:26",
    "horaDespacho": "10:29",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 10:30:59 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:30:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:31:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:31:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:31:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 10:31:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:31:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:31:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:31:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:31:02 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:31:02] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:31:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:31:02 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 10:31:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

[09/06/2026 10:31:02] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:31:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:31:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 10:31:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 10:31:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:31:02 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 10:31:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 10:31:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

[09/06/2026 10:31:02] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:31:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:31:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:31:02 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:31:02] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:31:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:31:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:31:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:31:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:31:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 10:31:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 10:31:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:31:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:31:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:31:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:31:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:31:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:31:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:31:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:31:09 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 10:31:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

[09/06/2026 10:31:09] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:31:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 10:31:09 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 10:31:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

[09/06/2026 10:31:09] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:31:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:31:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:31:09 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:31:09] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:31:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 10:31:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 10:31:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 10:31:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:31:09 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:31:09] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:31:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:31:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 10:31:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 10:31:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 10:31:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 10:31:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 10:31:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 10:31:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 10:31:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 10:31:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 10:31:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 10:31:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 10:31:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 10:31:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 10:31:31 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 10:31:31 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 10:31:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 10:31:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

[09/06/2026 10:31:31] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 10:31:31] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:31:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:31:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:31:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 10:31:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 10:31:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 10:31:31 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:31:31] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:31:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:31:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 10:31:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 10:31:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 10:31:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 10:31:32 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 10:31:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

[09/06/2026 10:31:32] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:31:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 10:31:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 10:31:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:31:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 10:31:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 10:31:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 10:31:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 10:31:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 10:31:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 10:31:35 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 10:31:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

[09/06/2026 10:31:35] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:31:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:31:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 10:31:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 10:31:35 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 10:31:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

[09/06/2026 10:31:35] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:31:35 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:31:35] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:31:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:31:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 10:31:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:31:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 10:31:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 10:31:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 10:31:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 10:31:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 10:31:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 10:31:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 10:31:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 10:31:35 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:31:35] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:31:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:31:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 10:31:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 10:31:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 10:31:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 10:31:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 10:31:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 10:31:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 10:31:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 10:31:57 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 10:31:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

[09/06/2026 10:31:57] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:31:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:31:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 10:31:57 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 10:31:57 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:31:57] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 10:31:57] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:31:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:31:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:31:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 10:31:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 10:31:58 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 10:31:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 10:31:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

[09/06/2026 10:31:58] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:31:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 10:31:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 10:31:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:31:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 10:31:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 10:31:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 10:31:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 10:31:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 10:31:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 10:31:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 10:31:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 10:31:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 10:31:59 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 10:31:59 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:31:59] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 10:31:59] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:31:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 10:31:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 10:31:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:31:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:31:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 10:31:59 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 10:31:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 10:31:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

[09/06/2026 10:31:59] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:31:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:31:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 10:31:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 10:31:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 10:32:00 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 10:32:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

[09/06/2026 10:32:00] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:32:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 10:32:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:32:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 10:32:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 10:32:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 10:32:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 10:32:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 10:32:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 10:32:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 10:32:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 10:32:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 11:02:26 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:02:26] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[09/06/2026 11:02:26] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 11:02:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:02:26 - INPUT: {"rutTecnico":"24456550"}[09/06/2026 11:02:26] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 11:02:26 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76464003
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 08/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TPORT LOGISTICS SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76917086
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 08/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 08/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76423913
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 08/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 08/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 04/06/2026
        )

)

09/06/2026 11:21:07 - INPUT: {"rutTecnico":"24456550"}[09/06/2026 11:21:07] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 11:21:07 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76464003
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 08/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TPORT LOGISTICS SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76917086
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 08/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 08/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76423913
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 08/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 08/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 04/06/2026
        )

)
[09/06/2026 11:21:07] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 11:21:07 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:21:07] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:21:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:21:23 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:21:23] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:21:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:21:23 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:21:23] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:21:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:21:23 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 11:21:23 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:21:23] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 11:21:23] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:21:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:21:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:21:23 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:21:23] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:21:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:21:24 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:21:24] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:21:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:21:24 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:21:24] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:21:24 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 11:21:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[09/06/2026 11:21:24] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:21:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:22:18 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:22:18] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:22:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:22:18 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:22:18] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:22:18 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:22:18] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:22:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:22:18 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:22:18] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:22:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:22:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:22:18 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:22:18] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:22:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:22:18 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 11:22:18 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:22:18] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 11:22:18] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:22:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:22:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:22:18 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 11:22:18 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:22:18] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 11:22:18] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:22:18 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:22:18] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:22:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:22:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:22:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:22:19 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:22:19] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:22:19 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:22:19] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:22:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:22:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:22:19 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:22:19] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:22:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:22:19 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:22:19] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:22:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:22:19 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:22:19] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:22:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:22:19 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:22:19] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:22:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:22:19 - INPUT: {"rutTecnico":"24456550"}[09/06/2026 11:22:19] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[09/06/2026 11:22:19] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 11:22:19 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76464003
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 08/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TPORT LOGISTICS SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76917086
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 08/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 08/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76423913
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 08/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 08/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 04/06/2026
        )

)

09/06/2026 11:22:19 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:22:19] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:22:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:22:19 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:22:19] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:22:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:22:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12946
            GROUP BY l.idllamado;
            

09/06/2026 11:22:21 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:22:21] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:22:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:22:23 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:22:23] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:22:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:24:16 - INPUT: {"rutTecnico":"24456550"}[09/06/2026 11:24:16] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[09/06/2026 11:24:16] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 11:24:16 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76464003
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 08/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TPORT LOGISTICS SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76917086
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 08/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 08/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76423913
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 08/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 08/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 04/06/2026
        )

)

09/06/2026 11:24:16 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:24:16] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:24:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)
[09/06/2026 11:25:54] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 11:25:54 - INPUT: {"rutTecnico":"24456550"}[09/06/2026 11:25:54] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 11:25:54 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76464003
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 08/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TPORT LOGISTICS SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76917086
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 08/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 08/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76423913
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 08/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 08/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 04/06/2026
        )

)

09/06/2026 11:25:55 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:25:55] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:25:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:26:16 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:26:16] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:26:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:26:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 11:26:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 11:26:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 11:26:17 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:26:17] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:26:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:26:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 11:26:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 11:26:19 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:26:19] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:26:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:26:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 11:26:29 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:26:29] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:26:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)
[09/06/2026 11:26:30] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 11:26:30 - INPUT: {"rutTecnico":"24456550"}[09/06/2026 11:26:30] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 11:26:30 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76464003
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 08/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TPORT LOGISTICS SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76917086
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 08/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 08/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76423913
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 08/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 08/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 04/06/2026
        )

)

09/06/2026 11:26:30 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:26:30] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:26:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:26:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 11:26:33 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:26:33] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:26:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:27:09 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:27:09] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:27:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:27:10 - INPUT: {"rutTecnico":"24456550"}[09/06/2026 11:27:10] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[09/06/2026 11:27:10] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 11:27:10 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76464003
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 08/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TPORT LOGISTICS SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76917086
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 08/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 08/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76423913
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 08/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 08/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 04/06/2026
        )

)

09/06/2026 11:27:10 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:27:10] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:27:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)
[09/06/2026 11:28:13] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 11:28:13 - INPUT: {"rutTecnico":"24456550"}[09/06/2026 11:28:13] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 11:28:13 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76464003
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 08/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TPORT LOGISTICS SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76917086
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 08/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 08/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76423913
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 08/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 08/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 04/06/2026
        )

)

09/06/2026 11:28:13 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:28:13] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:28:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:28:19 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:28:19] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:28:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:28:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 11:28:21 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:28:21] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:28:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:28:51 - INPUT: {"rutTecnico":"24456550"}[09/06/2026 11:28:51] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[09/06/2026 11:28:51] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 11:28:51 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76464003
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 08/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TPORT LOGISTICS SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76917086
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 08/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 08/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76423913
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 08/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 08/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 04/06/2026
        )

)

09/06/2026 11:28:51 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:28:51] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:28:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:28:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 11:28:54 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:28:54] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:28:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:28:59 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:28:59] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:28:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:28:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 11:28:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 11:29:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:29:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:29:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:29:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 11:29:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:29:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:29:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 11:29:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:29:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 11:29:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:29:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:29:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:29:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:29:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:29:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:29:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:29:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 11:29:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:29:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:29:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:29:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 11:29:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:29:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:29:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:29:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:30:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:30:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:30:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:30:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:30:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:30:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:30:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:30:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:30:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:30:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 11:30:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:30:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:30:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:30:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:30:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:30:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:30:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 11:30:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:30:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:30:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:30:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 11:30:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:30:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:30:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:30:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:30:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:30:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:30:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:30:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:30:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:30:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:31:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 11:31:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:31:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:31:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:31:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 11:31:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:31:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 11:31:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:31:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 11:31:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:31:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:31:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:31:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:31:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:31:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:31:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 11:31:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:31:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 11:31:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:31:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:31:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:31:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:31:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:31:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:31:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:31:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 11:31:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:31:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:31:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 11:31:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                
=========================================
FECHA: 09/06/2026 11:31:51
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-mL8e-fakyYXedCzWkZj5I1grtA2ubxnEBqpP9BIVD5qBKfq-OCW
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "EP2247",
    "correlativo": "2",
    "ddServicio": "Faena",
    "ubicacion": "Proyecto Híbrido Pampas -  Global Energy Services - GES",
    "ciudadmaquina": "Taltal",
    "departamentomaquina": "Administración",
    "rutTecnico": "24456550",
    "contador": "102053",
    "contadorColor": "130210",
    "contadorScanner": "0",
    "detalle": "•Se hace retiro por falla reiterada",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12938",
    "observacion": "•Cabezal se desincroniza con la hoja después de imprimir varias hojas, hace ruido",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAD4AQwDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMCAQf\/xABJEAABAwMBBAcEBQcLAwUAAAABAAIDBAURBhIhMUETUWFxgZGhFCKx0SMyQsHCBxU1Q1JyshYkMzQ2YnOS0uHwdILiRFODovH\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAwEQACAQIEAwcDBQEBAAAAAAAAAQIDERIhMUEEUXETIjJhgbHBM6HRFEKR4fAj8f\/aAAwDAQACEQMRAD8A\/syIiAIiIAiIgCIiALmr6+mttK6pq5RHGNw63HqA5lftdWwW6kfVVL9mNg8SeodqmLbbajU1a273UYpW\/wBXp+RHy+PcpxjfN6FFWq4tQgryf282d9oul2vFeKplOyntYBAD\/rSdRB7\/AA4jfxVAvxrQ1oa0AADAA5L9UZO7yJ04OKtJ3YREXCwKbpb\/AFdBdDbr6xjDI76GojGIyO3s\/wCFUi4LzaorxbpKV+A\/jG8j6ruRUotaMpqxm1ig819zvRT2lrrJNE+1Vvu1lH7uHHe9o5+HyVCuSWF2JU6iqRUkERFwsCIiAIiIAiIgCIiAIiIAiIgCIiAIi+XvZGwvkcGNaMlzjgBAfSKam1RVVc7orHb3VjW8ZnAhuerljxK+B\/LOofnFJSjq3EfiU8D3yM36mL8Kb6IqEUv0msqQbToqWrDRvAwCfgvWi1dGav2O60r7fP1vPueJOMfDtTA9swuJhe0k11RRr8c4NaXOIAAySeSNcHNDmkEEZBHNTmrbhNswWeiP85rTsu7GHd69fUCuRjidi2rUVODkzkcH6wvJaHbNsoX78frTn7wPAHtVc1oa0NaAABgAclzW2ghtlBFSQD3YxvON7jzJXUuylfJaEKNNwWKXiev+8giIoF4REQBERAS2qoX22upL9TMO3E8MnwfrN5Z8MjPctmlv1rrZhDT1sb3ng05btdgzx48lgXaSq1Lc57bRPLKSkaemfxDn78DHeMeZXhaLRS3rTIMMbYLhTOLRM0bJ2gcjOOwgZ+SvwrCsR5iqyVaXZLJ\/drWxbIsPTN4lr6eSkrQW1tKdmQEb3Dhnv61uKlpp2Z6FOaqRUkERFwmEREAREQBERAEREAREQBERAFH1Uk+rrq6ippXstUH9JI0fXd9+\/h5rT1fXyUln6GBzhPVPEbC3jjn8vFd9otkVptsVJGBkDMjh9p3MqyPdWLcyVL1anZ7LX8HRSUkFDTtp6aJscbeAaPVeyIqzUkkrILlr7bSXOnMFXCJG8jzaesHkupETsGlJWZHtnuOj5mRVLnVdqecMeB70fZ2d3Dq5ro0rDJcauqv1VkvlcWQgn6refy8CvfWtR0dkFM1odJVStY0Yzw35HkB4rlsE9TZLq6w1z9qN42qZ5O7uHZx8R2q\/WF9zzbKFdQb7q+zen9FWiIqD0wiIgCIiALK1LcnWuyzTRnEr\/o4zngTz8Bk+C1VLX0C6apttr4xw\/TSjG7rx5D1U4K7zKOIk403h1eS9TS0zavzTZ443txPL9JL1gnl4Dd5rNsQFBq660A3MlAlaMeP4vRVKl7rmi1tbKreG1LTEe07x+JqlF4m77lVWCpRg4\/ta++R86lhktFxp7\/Rs3h2xUNHB4PX8O\/CpoJ46mCOeJ21HI0OaesFfFZSR11HLSzDLJWlp7O1T+kauSnfU2OqOJqRxLO1ud+Pj4rnij0Or\/lWttL3\/ALKdERVmsIiIAiIgCIiAIiIAiIgCIiAl67ZuOuaOlO9lFH0pAOfe4ju+yqhTFv8Ae\/KDc3DeBTgE9uI\/kqdTnsvIzcPnjl5v7ZBERQNIREQEve2+26xtNHuLYgZiOrfn8AXvrCkkfb4rhTt+noZBIHcw3n64PgvClPtH5Qqt3AU9OACOZw3\/AFHyVLNEyeF8MgyyRpa4dh3K1vC0YYQ7WNTzb+2h4W2uZcrdBWRjAlbkjqPAjzyupTOiZHMo6uge7LqWcjuB\/wBwVTKE1aTRooTdSmpMIiKJcEREAUvp8e3anu1z4saehYTz5cO5o81u3Or9htlTVDjFGXN78bvVZmjaQU2nonkYdO50h88D0AVkcotmap3q0I8rv4RvKX1uHRQUFY39RUDlkDO\/8KqFga0iEmm5XEf0b2OHnj71yn4kd4pXoy\/2hvAgjIOQVLahH5r1Jbbu0AMe7opSAe7PkfRUVvl6e20suc9JCx2cYzkBZmrqM1mn5iAS6AiUAdnH0JSGUrM5xCxUsS1Wa9DbRcVmrPb7PS1JdtOfGNo\/3huPqCu1Ras7F8ZKSTW4REXCQREQBERAEREAREQBERATFp9zW92jcPeMYcCeOPd+YVOpeQey\/lDjduAq6fiR1A\/6AqhTns\/IzcNkpLk3+QiIoGkIiICX0972qr28neH48Mn5KoUxpz+018\/xR8XKnVlTxGbhfp+r92TFh+h1ZeoP23CT1z+JU6l6LMX5Qq9g+rLTg+jP91ULlTUcN4WuTfuERFA0hERAT2tagxWEwNyX1MrYw0cTz+71WzQ0\/slBT03\/ALUTWeQwp\/Un851HZqIjLOk6Rwzx3jl4FVCsllFIzU+9WnLlZfPyFkarAOmqzIz7rf4gtdZGqv7NVv7o\/iCjDxIsr\/Sl0Z72Ek2Chyc\/QM+C7Zo2zQvid9V7S09xXDYP0BQ\/4DfgtFJas7TzproTWh5HC1T0sh9+Coc0tPIYH35VKpeyZo9X3ai4NlxM0eOd3+f0VQu1PFcq4X6Sjyuv4CIigaQiIgCIiAIiIAiIgCIiAmNTkUl6s9wwQGy7D3DkMj7iVTrD1fRGs0\/MWjL4CJR3Dj6E+S7rNWi4Wimqdrac+MbZ\/vDcfVWPOKZmh3a0o87P4Z3IiKs0hERATGnzs6qvbCMEvB9T81TqYtf0evLpH+1CHbuH2PmqdTqambhvA1yb9yYpiZfyiVe\/+iph8G\/6lTqYsv0msrxJ+yA3dw5fJU6T1XQcNnGT5t+4REUDSEREBLuzWflEaOLaKnyR1ZH\/AJhVCmNO\/wA41PeqocGvEYJ353kcf+34KnVk9UjNw2cZS5t\/gLI1V\/Zqt\/dH8QWusjVX9mq390fxBRh4kWV\/pS6M9rB+gKH\/AAG\/BaKzrB+gKH\/Ab8ForktWdpfTj0RL1A9l\/KFTPyQKmAg9pwR+EKoUvqNoj1PY5eBdLsbXX7zd3r6qoU56JlVDKc4+fukERFWaQiIgCIiAIiIAiIgCIiA+XsbJG6N7Q5rgQ4HmFM6Uc63XC4WSUgGKTpI9+8g4+7ZPiqhSupR+ab1QXyOMlod0c+OYxgeOCfIKyGd48zLxHdcavLXoyqRfgIIyDkFfqrNQREQEx\/VvyidXtVN54H\/gqdS+piaK\/Wi5AkNEnRSHqGfkXLdus\/s1pq584LIXEd+N3qrJK9jLSeB1E9nf+VcwtIZqaq7XE7xPUYbjhuyfxBVCwtHQGHTkBIwZXOf64HoFurlTxMlwytRjffP+cwiIoGgL8JAGScAL9XHdphT2ismOPcheRnmcbgupXZyTsmzE0ODJR1tWf19SeI38M\/eqdYejoei03Tk8ZC53d7xH3LcUqj7zKOGVqMegWRqr+zVb+6P4gtdY2rXbOmaw4zuaPN4C5DxIlX+lLo\/Y6LB+gKH\/AAG\/BaK4LG3ZsNAN39XYd37oXeuS1ZKl4I9CY1T+nNP\/APU\/iYqdTGqf05p\/\/qfxMVOpy8KKqX1anVeyCIirNIREQBERAEREAREQBERAFw3i2Mu1slpHkNLhljj9lw4FdyLqdncjKKknF6MwdJ3CSotzqKpBbVUR6N7Xcccvl4LeUves2K\/096YD7PP9FVBo8j6enaqdrg5oc0ggjII5qU1utymhJpOnLWPtsfqIigaDB1nS+0aeleG5dA5sg88H0Kz9QXN9XpegiiI6W4lgIB6sZH+bAVTUwMqqaWnkGWSsLT3EKC09S1E+o6egqDtR2wyOAxww7t\/vEFX07Wz2PO4lSU7L96t9\/wAF5SUzKOkipowAyJgaMDqC9kRUHoJJKyCIiHQsbVkvRabqz+0Gt78uGfTK2VN64lIsscDN7552tDevifjhTgryRRxLtRk\/I1bJEIbHQsAx9AwnvIyfVd684YhBBHC3hG0NHgMLjuN8t1qafaqloeBnomnLz4fNRzbyJpxpwWJ2saCntbyBmnXNJxtytaB18\/uXM+\/Xq8EMslA+CE\/+pnA9M7visq72epZc7dT11wkrZquUbbN4awZAOP8A8HBWwhaSuzHxFfHTagm08r7Z+5Qx6ms1BRQQvrA90cbWkRgv4AcxuXg7XlpHCKqd3Mb\/AKlqUtgtNGAIqCHI+09u07zK72tawYa0NHYMKN4ci5Q4i3iS9L\/JBXrU9Fcbla6mGKdrKObbkD2tBIy07sH+6VX22+W66gilqAXjjG4bLvI8fBY9+Ifq2yxk\/VJdu48f9l0XzTFPVQuqbfGKatjPSMdF7u07w57tx61N4WktDPT7aM5yVpZ57bbFAiyNN3d14tgklGKiI7EoxjJ6\/Fa6paadmb4TU4qUdGERFwmEREAREQBERAEReNLWU9bEZaWZkrAS3aacjKHLq9j2REQ6clzoI7lbpqSThI3AP7J5HzWNpOvkY2WyVvu1VGcNyfrM7O7d4EKkUzqmlloZ4L\/RgiWBwbMBuD2Z5\/DxHUrIZ91mWunBqstten9FMi8KOrjrqOKqhOWStDh2di91WaU01dHlU1EVJSy1MztmOJpc49gUFZquqpb7TXWp2xFcpHsO478nd6keS3dXzSVHsdmhOH1sg2iQdzQRv89\/gvbUdojdpjoKdpb7EA+IDj7owfTPiroWSz3MFfFUm3H9mfr\/AOe5vouCx135xs1NVE5e5mHn+8Nx9Qu9VNWdjdGSlFSW4RfmQMZPHgvx72RsL5HBjWjJc44AXCR9KQ1fXQRXq2RVO0YYT00jWjed+7+E+a6KvUdVc6h1Bp6Eyv4PqXDDWdo+Z8AVm6dtAn1JW+3ubWGmGHOd7wMmRxz3Hj9yuhHD3pHnV63a2p093rtln6naay+6ly2hYbdQu\/XPBD3jsPy81o23SdsoBtSRCqmPGSYB2\/sHALbRQc3osjTHh43xT7z8\/hH4AAMAYAUxPmt\/KDDHxZRQbRHaR\/5N8gqaSRkUbpJHbLGAuceoBTWkGOrJK+8ytw+plLW9jRv+8eS7HJNnK3enCHnf+CnREVZpJirPT\/lBo2YBbBTknsOHb\/UKnUtZCazWV2rM7TYh0IPVvA\/AVUqyeyM3DZqUubf4+CXsw9k1rdqRm5kjBLgde4\/jKqFMWf6bW13n\/YYI\/wCEfhVOuVNRw3gfV+4REUDSEREAREQBERAF5wU8NNH0cETImZJ2WNwMleiILBERAF8SxMmifFI0OY9pa5p5g8QvtEBKWGV9jvdRYag4hkJkpnO555eQ8wVVOcGtLnEAAZJPJYuqLS64UAqICW1VJmSIt4nmR6eYWVc9RPuOl6eOmwaytf0D2NO8H7WB27vBytax2aMKqfp1KEtFmvwethL75qSqvTs+zwDoafI\/5jcST+8qlzWvYWOGWuGCOsLktNvZa7ZDRswSxvvOH2nHifNdqjN3eRfQpuEO9q831JXSMnsNZcLLK7DoZS+MEcRwJ\/hPiqpSWp5GWe+0F4jaC45ZKwHe4Yx8CfILgk1ZeHVwexkbC9uzFSYzgHeHOPHh3dwCscHPvIyw4iHDp0pbP7bHRr25OD6e3RvwB9LJg788G\/efJfVLSXXVMUBrSaW2sAwwfWkwNx7e87upcdos0l\/orhc63bmqJAWwOJ4uA448gOS17FqGipNMRPrJgx9OTEWfadjhgdxCk+7G0dUUQ\/6VHOq7Rkr+i5mlVzUOmLK50MbY2MGI2ftvI3Z8uPYubSNDNS2t1TUtInq3mR2Rg45Z9T4rgpKSq1VWsuFwYYrdGcwU5+32n5+Co6+5Udsh6WsnbE08AeLu4c1W8lh3NlO0pdq8orT8\/g6l41VZT0UJmqZmRRjiXFTT7xd9Qkw2WB1LTcHVUu4nu6vDJ7l00+j4HS9Nc6uavkyThxIaM+JPryXMCXiZLt5T+lG\/m8l\/Zy3S5TalcLXZjtQOI9onO4AZO7rxu8dypKGjit9FFSQDEcTcDt6z4nevSCnhpohFBEyJg4NY3AXooyldWWhOnScZOcndv\/ZBeNVUMpKSapf9WJhefAZXsp\/WdW6Cy+zR75KuQRgDq4n4AeKRV2kTqz7Om5cjEo3uotDVtY92Za6UhpG7nj7nFVllhdTWOkjkd7whaXE8iRk\/FTVVT+33a3acgOaega19QeIJA3\/HHe5Ul+q\/YrHVz8xGWjvO4epVk87LmYuHWC8npFW+WY+jAKg3O4YyaipO\/wD+34lULG0pSeyadpgRh0oMp7drePTC2VCbvJmnhouNGN\/9cIiKBoCIiAIiIAiIgCIiAIiIAiIgPxzg1pc4gADJJ5L+dW6a3jWzZWAilM7hCRuG0c48Mn4Kl1dcpKaijoKUn2qtdsNDTvDc7\/PcPEpV6YjfpmO3w\/1inG3G8HG1Jz8\/Td1K6ForPc8\/iFKrO0F4M\/XkUKy73e4bNTgkdJUSbooRxcfkuG16lj\/k4+rrSenpPo5W\/ac7l4n5qUpvzpqK9yVEDcSyfrN+zC3sPLduSNPN4tEdrcWsMVTzcj6qIJ7lVmOTNbdKg72tdhlOAeHf6DtPBBUUlLpox0zALjVSmCVziAWs5gdQIwPPsW9FcLNpiA0luBrq1+A7o9+07tI4DjuGfvUtGYq69dPcY3U9PNORKYxgMJ5b+Har079DzaiUGrNOTyfl68+ZTQXoUNJFZ9P03tlQxp25Wj3A47yR1788d3DiuL+TV2oK5ldJRwXFz8vezO4PJ6t3y49itKK30lugENJAyJvPA3u7Sea6Vn7S2iPT\/SY0u0emltESxrtV17Cylt0VCzgHyH3h3Z+S96PSURm9ru9Q+vqTx2j7g8Of\/NyokUcb2yLVw8W7zbl10\/g+WMZGwMjaGNaMBrRgBfSIoGkIiIAoDUtxlrdURQUYMjqU7EQbyl6\/A4\/yrY1Bq2OkzR20tnqXe6Xt3tZ3Y4n\/AJ2Lp01p+O2U7aqcF9bM3L3P4szvwO3rV0VgWJmCs\/1EuypvTVnvp6yNs9H9Lh9XKdqaTOc9gPV964NaSGanorZGcSVdQB4Dd8XDyVMpeqb7dr+mjBy2jg23AHgd\/wDqaoxd5YmTrQUKSpx3simjY2KNsbfqsAaO4L6RFWbAiIgCIiAIiIAiIgCIiAIiIAvOaaKnhfNM8MjYMuc47gF6KWvs8l8u7NP0khbG336t4G4AYI3\/APN+FKMbsqq1Ozjda7dT8sEMl8u0t\/qmkRsOxSsdjcN\/wz5kqnlljhidLK8MYwZc5xwAF801PFSU0dPC3ZjjaGtHYFxahp46ixVbZZHsY2MvOxxOyM49F1vFIhCDpU3u9X5s\/nV8qqWrvNRPSNc2GR+SCfrHmR38fFUtBY7zW0ggfOLZQHe2GNo23Dtxv3jrPgvrTunqSt0s8zRM6aq2i2Uj3mYOBg8t4z2rv0rcnuoJqGtdsVFvJY8vP2BwOezBHgFfOeVo7Hm0KHfUqn7s8svQ57rT0OmLK6Ohh\/nVR9EyRw2nuzx349Ny64NMw\/yXFqlw2Vw23PG\/EvX4cO4LhtzDqTURu7w4UdGQ2na4fWcOfmc+SrFVKTWW5to041G5W7ui6bv1JzTFzma59kuHuVdJ7rcn67eXfgemFRrFv1iNx2Kykf0NfBvjkBxtY5Fflk1A2tcaKuAp7hH7r43btvtHb2Lkli7yJ05Om+yn6Pn5dTbRF+EgDJOAFWaj9RYldq200RLGzGpkzjYgG1v7+Cz5H6lvxLY2fmukJxlx99w+PwCmoPV5GeXEQTtHvPyNe6ait1pBbPNtyj9VHvd49XisOpfeb9C+eoebRbGNy4uztPHdxPoO9adBpu02WM1M+JZGDadPORhvaBwHxWVJLUayufQRdJFaYHe+\/gZD8+zkN\/YrI2Wn8maq6jynq9Ir5fI8NKWOGtrjczCWUkLsQskOXPcPtHlu7N2e5XK84YYqeFkMLAyNgw1rRuAXoq5yxO5qoUVRhhWu4UtpICsuV1upGell2IzjgM5xnu2VR1c3s9HPPkDo43OyeWBlYeh4hHp4OA\/pJnOPoPuXY5RbI1M60Fyu\/gokRFWaQiIgCIiAIiIAiIgCIiAIiIDludaLdbair2doxMJAPM8vVZGkLc+CgfcKg7VTXHpC48dniPPJPiFp3qgN0tFRRtcGukaNkk4GQQRncd2QsKnvF2slMyluFnfJFTsDBPASQQBgciOriRz7lZFXjZamOrJRrKU9Evv\/AOFWs6\/xumsNYxoJJiO4DJ61nx62s7yA908Jzg7cfDyyupmqLHK04r48cw5rh8QuKMk72LHWozi44ln5n5pqoi\/kzSSGRobGwhxLhhuCePUo\/UFbS1t6lnoXysp3hsVTMwHZdv8A9vHZXdU02j+mc4XGZjHEkxRBxbns93u8l0Vd70yLNLbYGSdG9mBsRb9ocCScZOQFdFWldJnn1ZY6ahKUVbzvf8FVQ0lPRUcdPSNAhaPdwc57c88roUPY9V1cVtjoYrbLWzQjZa5hP1eWcA8OHgtA1ura\/wB2noIaFpH15CCR5\/JVum75mynxVNwWFPol\/kU7nBoy4gDrKktT1GnarD3VgFYzGzJTDaPHmRu9chezdJVVadq8XeecZz0cZw31+S16OwWqgA6Cij2gc7bxtO8yiwxd7iaq1o4XFJeeft+SRi1leae3N6Sla\/O5tRIx2CPgT2r2pKQagDZbrqKN7c59mjcG+hxjyVvJGyVhjkY17HcWuGQVkVOk7NUu2jSCI5yeiOz6cFJVI8rFUuGq5XliXJ3Xt8n3RUVitgzTClYRv23PDnDxJyviu1VaKFrv50J3j7EPvE+PD1XgNE2Ufq5j\/wDIV30en7VQEOgoow8cHuG0R4lQbhq22XRVdK0Uor\/dDDZRXTVUwnry+jtoILKccXjjn\/fyVRTU0FHA2CnibFGwYDWjAXqijKVy2nRUM9W9wiIolxwXtrn2Oua3iYH\/AAXLpLZOmKPZGBh\/ntuytWeFtRTyQu3NkYWnuIwp3SNT7M2pstQQyoppXbLeG03s69+T3EKxZwaM0u7Xi3umvkpkRfL3sjYXyODGtGS5xwAqzSfSKcrdWNfUto7NAa+oJ3kZ2QOe\/n38FQxl7o2ukZsPIBc3OcHqzzUnFrUrhVhNtRd7H0iIolgREQBERAEREAREQBERAeMtHSzHMtNDIf77AVxv07Z3u2jboAexuPgtJF1Nog6cJao4G2S1Nfti3U211mIFdEdFSRf0dLCz92MBe6JdnVCK0RKzl1k1oyf6tLcxsuwNwfw+OD\/3FVSx9UW51yssjYhmaE9LHjjkcR5ZXtp+4m6WaCpeQZMbMn7w3evHxU5ZxTM9PuVZU9nmvk0kRFWagiIgCIiAIiIAiIgCxrxp2C5zNq4ZHU1YzGJoyQSB3c+34rZRdTad0QnCM1aSJf2TWUIEba+klHJxAyB\/lRulKyveH3u6y1AH6qI4bnx+QVQin2j2Kf0sH4m31Zy0NtorbH0dHTshB4kbye8neV1IirbuaElFWQREQ6EREAREQBERAEREAREQBERAEREAUpZmmx6pqbSXYp6lvSwA9fV5ZH\/aFVqa1hTmGGlvELAZqOVpJP7JO7PjjzKshrh5mbiVZKotY+25SovOnnZU08c8ZDmSNDmkdRXoqzSnfMIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiALnuFI2vt89I\/GJWFuSOB5HwO9ETQ40mrMztKtrI7GyCthkikhe5gEgwS0cPDfjwWyiKUs2yFJWppBERRLAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgP\/9k=",
    "razonSocial": "INVERSIONES Y SERVICIOS DIGITALES SPA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "ELISA GIL GARCÍA",
    "correoContacto": "mlgil@services-ges.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "13",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+569765445794",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "11:32",
    "ubicacionGPS": "LatLng(lat: -24.9351306, lng: -69.9291958)",
    "horaLlegada": "11:28",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "2",
    "idEstadoRetiro": "2",
    "observacionRetiroMaqExterna": "•Se retira por falla reiterada—mala calidad de impresión después de imprimir varias veces",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 11:31:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 11:31:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:31:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:31:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:31:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 11:31:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:31:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:31:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:31:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:31:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:31:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 11:31:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 11:31:53 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:31:53] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:31:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:31:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:31:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:31:53 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:31:53] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:31:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:31:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:31:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:31:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:31:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 12:12:34 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:12:34] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:12:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:12:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:12:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:12:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:12:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:12:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:12:34 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:12:34] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:12:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:12:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:12:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:12:34 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:12:34] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:12:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:12:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:12:35 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:12:35] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:12:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:12:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:12:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:12:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:12:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:12:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:12:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:12:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:12:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:12:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:12:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:12:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:12:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:12:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:12:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:12:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:12:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:12:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:12:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:12:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:12:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:12:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:12:42 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:12:42] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:12:42 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:12:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

[09/06/2026 12:12:42] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:12:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:12:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:12:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:12:42 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:12:42] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:12:42 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:12:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[09/06/2026 12:12:42] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:12:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:12:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:12:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:12:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:12:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:12:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:12:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:12:49 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:12:49] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:12:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:12:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:12:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:12:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:12:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:12:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:12:49 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:12:49] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:12:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:12:49 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:12:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

[09/06/2026 12:12:49] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:12:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:12:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:12:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:12:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:12:49 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:12:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:12:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

[09/06/2026 12:12:49] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:12:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:12:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:12:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:12:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:12:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:12:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:12:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:12:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:14:29 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 12:14:29] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:14:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:14:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12947
            GROUP BY l.idllamado;
            

09/06/2026 12:14:36 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 12:14:36] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:14:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:14:41 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 12:14:41] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:14:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:14:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12951
            GROUP BY l.idllamado;
            

09/06/2026 12:14:44 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 12:14:44] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:14:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:14:53 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 12:14:53] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:14:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:14:56 - INPUT: {"rutTecnico":"21773342"}
09/06/2026 12:14:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

[09/06/2026 12:14:56] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:14:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:15:03 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 12:15:03] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:15:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:15:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:15:07 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:15:07] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:15:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:15:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:15:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:15:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:15:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:15:09 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:15:09] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:15:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:15:09 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:15:09] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:15:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:15:09 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:15:09] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:15:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:15:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:15:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:15:09 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 12:15:09] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:15:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 12:15:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:15:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:15:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:15:11 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:15:11] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:15:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:15:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:15:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:15:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:15:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:11 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:15:11] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:15:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:15:11 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:15:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

[09/06/2026 12:15:11] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:15:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:15:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:15:12 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:15:12] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:15:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:15:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:15:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:15:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:15:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:15:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:15:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:15:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:15:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:15:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:15:42 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:15:42] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:15:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:15:42 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:15:42] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:15:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:15:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:15:42 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:15:42] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:15:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:15:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:15:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:15:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:15:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:15:42 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:15:42] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:15:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:15:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:15:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:15:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:15:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:15:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            
=========================================
FECHA: 09/06/2026 12:15:52
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-OFqFWA5xlGT2pNh-UN3V9wHqTy4k6RScQzDqOm-S3Yes7dh2ooO
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "78338181",
    "serieinterna": "EP3171",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "9291721",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "insumo",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12880",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACEANkDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMCAQf\/xAA+EAABAwMBBAcEBgkFAAAAAAABAAIDBAURBhIhMUEiUWFxgZGhE7HB0RQjMkJS8AcVFjdidJLS4SVjk6LC\/8QAGAEBAAMBAAAAAAAAAAAAAAAAAAECAwT\/xAAvEQACAQIEBAQEBwAAAAAAAAAAAQIDERIhMUEEMlGhEyJhwZGx0eEUI0JScXLw\/9oADAMBAAIRAxEAPwD+zIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIi8aqobSUk1Q8ZbEwvPcBlCG7K7OG8X+ks8eJCZJ3DoQs4n5LMNZqq6sBpaOK3RO4PlOXev9q\/NKW76VtX6tzLVVDiWF3Bgzjd7uwBVC0do5JHJFVKyxN2T0S92TIs+piWuffWZHIN3e5etmutfHc3Wa7hrqlrdqOZg3PH5zy5KhUzXEj9IduG7fTHl2SKU8V0yJw8JxlFvVLW+pTIiLI7QiIgCIiAIiIAiIgCIiAIiIAiIgCLiu1zitFvfWTNc8NIAa3iSSuG16lir6r6JPTSUc7mhzGy7todnp3qyi2rmUq0IywN5m2iIqmoREQBctzgdU2qrgYNp0kL2tHaQcLqRFkQ1dWMDRlQ2bT0cW\/bp3ujcD152vcVvqVov9H1rUUm0fYXBpkYMbg7JP8Ad5hVSvNZ36mHDP8ALwvWOXwCmKIm5a5qqlp+qoY\/ZDdz4Y89pa18uQtdrlqNoB+NmPIyNrBx7lnaSFJR2oB1fBLUTu9pIPaglpPLj+SSpirRbKVZKVWMOmb9iiREWZ1hERAEREAREQBERAEREAREQBERATGqG\/TrvarW\/Iikk9o\/G\/IH+M+fno6gsrLtSZjAbVw9KGThv6j2LOuHS\/SDbGneBTkgduJPkqdaNuOGxxwhGo6mLd2+CRjabvDrpQmOo6NZTHYmaRgk9fjjzBWypS+wy2K7x36kZ9TIQyqjb97PPx947VURSsmiZLG4OY9oc1w5g8ComlqtzShN5056rutmfaIiodAREQE7rCjldRw3KmJE9A\/bGPw7s+WB6raoK2K4UMNXD9iVu1jqPMeByF6TRCeCSJ3CRpafEYUjpqtksl0lsNcNhrpMwudzJ4DuPLtWi80bdDkk\/CrXekvnsV08EVTC6GZgfG77TTwKxpdGWSXOzTviJ\/BI745W6iopNaM3nShPmSZLjTV0tZ27NdXBo3+wmHRPw9Avqj1TPS1Ao9QUpo5MdGYA7Dvf5g47lTLnrqCmuNM6nqohIxw58R2g8ir478xi6DhnSdvTY92uDmhzSCCMgjmv1SVGZ9KXhlvke6S21RPsnuxljvzx6+XUq1VlGxrSqY07qzWqCIuG4Xm32sD6XUtY48GDe4+A3qEm9C8pKKvJ2O5FMu13bM7MdPVyOPABjfmvwa1a7ey01bm8jhW8OXQw\/F0f3FOimm64oGktqKSrhcORYD8e9adu1BbLpIYqWpBkH3HAtJ7s8VDhJaotHiKU3ZSzNJERVNwiIgCIiAmK794lt\/lj7pFTqYrv3iW3+WPukVOtJ7fwc3D6z\/t7I8auliraSWmmbtRytLSFO6arZrdWS6fr3dOIk07z99vHA948VULG1BYzdI46imkMNbT74ng4zzwVEWtGTWhK6qQ1XddDZRRkWq7nc4I7fQ0uLg7Ikl3bLQOLh1eKraNk8VHEyplEszWAPeBgOKSg46k0q8avLoeyIiobheMlJTy1MVTJCx00Odh5G9ueK9kQhpPUIi5rhFUz0MsVHOIJ3ABshGdnfv8ATKBuyuek9TBTM26ieOFp5yODR6rIrNX2ikGGTGpeTgNgG168FzwaLo3P9tcameumI6Re8gH4+q16Sz26hINNRQxuHB2zl3md\/NaeRepz34iWiUe7MAG56oqqSZ9GaKhgft5e7e\/tG7y3Y3neqxEVZSuaU6eC7bu2Y+oL0bXFHBTs9pWVJ2YWDryBn13LltGlKeDFVcx9LrXnaeXnaa093PvK8adrK7XtQ+dpzRw\/VNPgM8f4j59iqFZvCrIxhFVpuc80nZL3PwNDRhoAHUF+oizOs+XMY\/G00Ox1jKmLtBFDrC0imijje4EvLQBkZ6vNVKl7aXXXWdZXAB0FG32MbuPS4bv+3mO9aQ3Zy8Qk8Md212zKhERZnUEREAREQExeT7DWlonIOHtMeRx5j\/0qdTGrOjc7HIOLand\/Uz5KnV5cqOajlUqL1XyPiWWOCJ0sz2xxsGXOccABStZca7U9S632dxiom7pqo5G12D5c+5al7s094qKaJ1SY6JoJmY3i4jGMevdjtWnS0lPRQNgpomxRt4NaETUVfcTjOrJx0j3f2Jut0iaKCKpsk0kVZTt5u3y\/AH0Wlp6+svFKWyAR1cW6WLh4gdXuWwsC96b+mTi4W+U01dHvDmnAf8jx7+alSxZSKuk6Tx0lluvp6\/M30WJYr+6vkdQ1sLoK+EfWNdgB3aBx7VtqjTTszop1I1I4ohERQXCIiAIiIAiIgJfUEMtou8OoYMuYMR1DM8Rw\/PcFR09RFV07KiB4fHIMtcF9SxRzwvhlYHxvBa5p4EKUopnaVvpt1Q8\/q+qOYHuO5hzz9x8CtOZW3RyN+BO\/6Zdn9yuREWZ1mbf7iLXZ56j75GxGP4juHlx8Fz6Utwt1ji2m4ln+tfkYO\/gPLC4NRtNz1BbLUMmMH2soAzu7fAH+pVK0eUUupyw89Zy2jkvcIiLM6giL5Y9kgyxwcM4yDlAfSIiAmdcAx26kq2fbgqQQercT7wFStIc0OG8EZCxtW07qnTlQG73M2XjwIz6ZXbZqgVVmo5gc7ULc94GD6q75Ec0cq8l1SfsdqIiodIREQHJDbKSnr5q6OLE8\/wBt20cHw4LrREvchRUdAiIhIREQBERAEREAWdfbUy8WySmOBIOlE78Lh+ceK0UUp2d0VlFTi4vRk5pG8PrKV9vqjiqpOiQ473NG704HwVGpPU1NJZ7hBqChbhwdszt5OzzPfw8uaordXw3Khjq4Dlrxw\/CeYV5q\/mRz8PNpulN5rujBvkdXab4y\/QwiopxGI5mjiwdf+Vr0N+ttwjDoqpjXYyY5CGuA7lorHrNLWetkMj6URvJyTEdnPhwS6asyXTqQk3TzT2f1NE11IBk1UIA\/3AuKs1HaaJhdJWxvcB9iJ224+XxXF+xNm\/BN\/wAhXbSabtFG7biooy7GMvy\/q6+4KPIL8Q9kvizG271qvPs8222n73F0g+PoO9UNsttPaaJtLTg7IOSXHJceZK7ERyvktC1OiovE3eXX\/aBERUNz5c1r2FjhlrhgjrC+YYY6eMRxMDGDkAvREIstQiIhIREQBERAEREAREQBERAEREAREQHPXUjK6hmpZAC2Vhbv5dRULp25Taduz6C4AxQyOw\/a4NdwDs9Xb8l\/Qlw3W0Ut3pXQVDBkjoyAdJp5ELSEklZ6HLXoylJVIO0l39DtBBGQcgr9UlZ7nLp6q\/Ul3OGA5p5\/ukHr7Pcq1VlHCzWlVVRX0e66BERVNQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIDlrrbR3KNrKyBsoY7abniF0gADAGAERTcqkk7n6iIoLBERAEREAREQBERAEREAREQBERAEREAREQBERAf\/Z",
    "razonSocial": "CONSORCIO RAB INFINITESPA",
    "nombreTecnico": "DANIEL FUENTELZAR",
    "nombreContacto": "ROCIO  ESPINOZA ORDÓÑEZ",
    "correoContacto": "rocio.espinoza@rabinfinite.cl",
    "correoCliente": "null",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INSUMOS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56956281303",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I1273\",\"id_control\":\"28903\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1274\",\"id_control\":\"28903\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1275\",\"id_control\":\"28903\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1276\",\"id_control\":\"28903\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "12:16",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "12:14",
    "horaDespacho": "10:31",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 12:15:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:15:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:15:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:16:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:16:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:16:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:16:02 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:16:02] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:16:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:16:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:16:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:16:02 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:16:02] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:16:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:16:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:16:02 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:16:02] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:16:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:16:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:16:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:16:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:16:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:16:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:16:03 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:16:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

[09/06/2026 12:16:03] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:16:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:16:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:16:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:16:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:16:03 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:16:03] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:16:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:16:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:16:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:16:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:16:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:16:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:16:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:16:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:16:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:16:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:16:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:16:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:16:16 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:16:16] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:16:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:16:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:16:16 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:16:16 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:16:16] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 12:16:16] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:16:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:16:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:16:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:16:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:16:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:16:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:16:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:16:16 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:16:16] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:16:16 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:16:16] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:16:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:16:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:16:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:16:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:18 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:16:18 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:16:18 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:16:18] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:16:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

[09/06/2026 12:16:18] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 12:16:18] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:16:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:16:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:16:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:16:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:16:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:16:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:16:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:16:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:16:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:16:19 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:16:19] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:16:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:16:19 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:16:19] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:16:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:16:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:16:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:16:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:16:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:16:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:16:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:16:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:16:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:16:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:16:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:16:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:16:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:16:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:17:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:17:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:17:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:17:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                
=========================================
FECHA: 09/06/2026 12:17:03
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-.TEDnhEBHYS2oVS3WQY_QftzuPpBVROm8XTU6ietQlMEfyk6aEq
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "78338181",
    "serieinterna": "EP3155",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "9291721",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "insumo",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12881",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACMAO0DASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMCAQf\/xABHEAABAwMCAwUFAgoFDQAAAAABAAIDBAURBiESMUETUWGBoSJxkbHBFDIVIzRCUnKSstHwFjNT0vEHJCU1NkNiY3N0k6Lh\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMREAAgIBAQYDBgYDAAAAAAAAAAECAxEhBBIxMkFREyJxI2GRscHRFDM0geHwQlKh\/9oADAMBAAIRAxEAPwD+zIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiID5e9scbpHuDWtBLiegUuLxeb7UOZZohBSNcWmokxv8APp3BdOs6mWO0x0sLiH1cojONtuv0WzQUUVvooqWFoDI242HM9T5qxYjHJlnvWWbieEuJgG06pDeNt7iMg5At9n5fRfLdSXK0yCK\/UJDHHDaiEbfwPkfJVK8qiniq6d9POwPjkGHNKb6fFB0OOtcmn79UfsM0dRCyaF4fG8Za5p2IXoprRkj209bRF\/HHS1Bax2+4+XT1VKoyWHgtps8SCkERFEtCIiAIiIAiIgCIiAIiIAiIgCIiAIixL7fzbXx0dFEKivmI4I+YaO84XUm3hEJ2RrjvSNtFM9prIZeYaN2BkR5G\/hz+q6bNqRtdUm310BpK9nNh2a4+Gd\/HHd1Kk4PGUVR2iLaTTWe6N1ERQNAREQExrL2JbVOeUdSM+h5+Sp1N64ic6yxys5xTNceWwwfrhUEMrZ4I5mfdkaHD3EZU3yozV6XzXoei4L1dI7RbJKp+7vuxt\/SceQ+vku9QF1vNNX6jH4SDxQ0hIEDfaMh79jjn48gkI7zG03eFDTi9EUmk7c+gs7XzZM1Se2fxcxkDAP8APVbamP6e2rb8RV\/sN\/vL2ptbWeoeGvdNBk4zKzb0JXZQm3lohVfs8IqCkihRfMcjJY2yRva9jhlrmnII8CvpVmwIiIAiIgCIiAIiIAiIgCIiAIiID8c4NaXOIAAySeimNKRyXCtrb3U8RfJIY4g4fcbzIHoPIrfuTi22VThsRC8j9krK0WANNwkdXvJ\/aKsWkWzNPzXxT6ZZvLB1VZ3XCiFXTDFZS+3GW83AbkfUf\/VvIoRbTyi6ytWRcWZ9kujLva4qpuz\/ALsjf0XDn\/HzWgpS3P8AwFqyotrvZpa49pDnYBx6D1HkFVqU1h6FdE3KGJcVowiIoF5x3ajFwtVTSkZMkZ4f1huPUBZ2j6s1VgjY4+3TuMTgR3bj0IW6pW1Btn1hWW\/ZkNY0SxDPXnjw\/O+AVkdYtGWzyWxn30+xVLyNNAX8ZhjLz+dwjK9UVZpwmfgAAwBgBc9ZbqO4RGOrpo5Wn9Ibj3HmF0omcBpNYZI4qdIXJgMjpbRUv4RxHeI\/z8QFWggjIOQVP63c0adcCAS6VoGRyK26UOFJCHfeEbc+\/CslqkzNStyyVa4aP0yeyIirNRl3y+Q2anaSztqiQ4ihad3ePuWWyHVtwPaPqIKBhO0fM48gfU5X7TgV+u6h0+4oovxTCScE4Ge7qT5juVOrG1FcDHGLubbbSTxhe7uSrrlqCwuDrpGytpM4dNEN2DvOAO\/qPNUlLUw1lNHUwP44pBlpX3LFHPC+GVgfG8FrmnkQpjT7n2i\/1djeD2LyZafPd9dv3U0ks9Tq3qZpN5i+\/RlUiIqzWEREAREQBERActz\/ANVVf\/Qf+6VmaM\/2ag\/Wf+8Vr1jO1op4\/wBONzfiFiaIk49PNbnPZyub7uR+qsXIzNL9RH0f0KFERVmkwNXW11XbBVwZFRRntGEc8dflnyWhZbk262uGrGOJwxIB0cOa7iARgjIKlrA51o1FW2V7eGGQman7sf4fuqxeaOOxll7O5S6S0fr0+xVIiKs1BTWsKeWBtLeafAkonjiyObSRj1+apVm6hpX1lhrIGDicY8gAZyQc\/RSg8SRTtEd6qS\/uTup546qnjnhdxRyNDmnvC9FNaGrftFldTOI4qZ5AHXhO49c\/BUqSW62jtNniVqfcIi47pc4LTQvq6g+yNmtHNzugC4lnQslJRWXwMK+k3fUlDZ45SI4T202Oh5\/HHL9b4VKnNJ0E4ZUXatB+0VruIZGMN5+p9AFRqU+y6GfZ02nY+Mvl0CIigaSVqXC1a8inceGGvj4HHfHFyHqG\/FVSytQ2gXi2uiacTxnjhdnGHd3mvHTN4dcqJ0FTkVlMeCUO5nx\/j4qx+aOexlrfh2uD4PVfVG2pjVHDRXm03QDBbJ2cjv8Ah\/wLlTqc1zG19gDzzjmaR6j6rlfMju1L2LfbX4FGi84HmSnjkJyXMB9F6KBpWoREQBERAEREAUxoY\/6Pq2jYNqTgD3BU6mNDfkNb\/wByfkFOPKzNZ+fD9\/oU6IigaQpjV1LLTupr5S\/11I4B\/i3O3qSPNd121Pb7U4xFxnqP7KLcg+J6fPwXFSQ32+S9tcCKKgePyYNBdI0jkeo8\/grIJrzPgY75xsTqjq\/d0KGmqI6umiqYXcUcrQ5p8CvVS2l6iW3XCp0\/VOyYSXQE9W8z88\/FVKjKOGX02eJDPXr6hERRLTgttmpLVJUSUzXA1DuJ3FjbngDbluu9F41VTDR00lTO\/gijGXFdy2yKUYRwtEKurgoaZ9TUyCOJgySVL0ME2rbh+Ea1pZbqd5EEJH3z4+mfgvOGGr1lXCpqQ+C1Qu\/Fx5wZD\/PM9OQ6lV8UUcMTYomBjGDDWtGAArORe8yrO0PL5F\/3+D6AAGAMAL9RFUbAuShfXvfUithija2UiAxnPEzoTvz+HuXWiHGstMKYv9BUWyvGoLc0FzB\/nEfRzep\/j7sqnX4QCMEZBUoywyu2tWRx8Dktdzp7tRMqad2QdnN6sPUFZGuZGssAYeckzQPU\/RclXE7Sd5ZWU+RbKt2J2AZEZ8PmPML01I+O5Xq0W6JweHP7V5buOHY7H3An4KyMUpJrgZLLXKmUJc3D4lNCwxQRxkglrQCQMcgvREVJ6C0CIiAIiIAiIgCmNF+wy5U5GHR1Rz8voqdTGnPxGpL3THbilEgae7J\/vD0U48rM1ultb9fkb1fWx26ikqpWvc2MfdYMkqa7fUeo9qdn4MonfnnIc4e\/mfLA8VWOa17S17Q5p5gjIK+lyMsdCVlTsessLsvuZVq07b7SA6KPtZ+s0m7ifDu8lqoi423qy2EIwWIrCJjV1LLTvpr5Sj8dSOAf4tztn5eaoaWpjrKWKpiOWSsDh5r6mhjqIHwzMD45GlrmnqCpnT0klnvVRYJnOdEcyUzjvkc\/l5ZBU+aPoZ37K7PSXz\/kqkRFWagp27W2tvd6ZSTccVshaHucP947u9fmtajuArKmqgFPPH9ncG8UjOEPz1Gfd8u9dikm4sqnGN0cZ0PiKKOCFkMTAyNgDWtHIBfaIolvAIiIAiIgCIpxlXPbtZvpqid5pq6PihDnEta\/z5ciNu8KSWSuyxQxnq8G5WUcFfSSUtSzjjkGCPqFCaVrKWkv7hM5z2SAwU8zzsN9h57fHxX9CUNfdN19KyQUEX2mldJ2jWNBMkTupGOewA6522VlbWHFmTa4yUo2xWcFyij7brWOmp2U13iqBUs9lzwwbjoSMg58l3\/02s36c3\/jKi65LoXR2umSzvYKFFOO1zZwcAVB8RGP4oNdWcnHDUDx7MfxXPDl2O\/iqP8AZFGixINX2SckfajEf+YwjPnyWrT1dNVs46aojmaOZjeHY+Ci4tcUWQthPlaZ7IiLhYFMRZpP8ocwIIFXTZHdsBv\/AOhVOsC8UU41Fa7lBCZGsJik4XAEA5x8ypw6oz7QniMl0aN9ERQNAREQBZ01njnvkN0fK4uhj4Gx42B33z5laKLqbRGUVLiERFwkEREAREQBERAEREAWLqi1uuFt7WHIqqQ9rCW89uY9PiAtpF1PDyQsgpxcX1MywXZl4tcc+R2rRwyt7nd\/uPNaaka9j9L35tyhafsFYeGdoGzD\/O48wquKWOaJssTw9jxlrmnIIUprquBVRY2nCfMv7km9VW6SGSO+UTQZoP65p5PZ4j0Ph7lr259vulDHWQ08RbIMkFgJaeoK73NDmlrgCCMEHqpOizpnUpt+5obgcxE\/mO5AfT4Lq80cdUVzSqs3v8Zcfc+\/7lSKeBow2GMDuDQnYxf2TP2QvRFWa8I457RbqluJqGB3jwAH4rMk0XaHTtljbNAWuDgI5NvXK30UlKS4MrlTXPmigiIoloREQBERAEREAREQBERAEREAREQBERAEREAREQHjV0sNbSyU1QwPikGHNKlGur9GTYfxVdpe7bB9qMn5Hw5HwVivxzQ5pa4AgjBB6qUZY0fAotp32pJ4kupx2+70F0j46SoY89WcnD3g7rF1lgutjWflBqMR43PTp7+FdFfpC0TudOyJ9O4e1iF3CCR4dPLC87Npuhp6v7SXzTSREFnauBDTv4KxKK8yMtk7J+xkll9SjREVJ6IREQBERAEREAREQBERAEREAREQBERAEREAREQBERAf\/9k=",
    "razonSocial": "CONSORCIO RAB INFINITESPA",
    "nombreTecnico": "DANIEL FUENTELZAR",
    "nombreContacto": "ROCIO ESPINOZA ORDÓÑEZ",
    "correoContacto": "rocio.espinoza@rabinfinite.cl",
    "correoCliente": "null",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INSUMOS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56956281303",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I1240\",\"id_control\":\"28904\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1241\",\"id_control\":\"28904\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1242\",\"id_control\":\"128904\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1243\",\"id_control\":\"28904\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "12:17",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "12:14",
    "horaDespacho": "12:16",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 12:17:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:17:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:17:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:17:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:17:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:17:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:17:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:17:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:17:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:17:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:17:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:17:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:17:05 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:17:05] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:17:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:17:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:17:05 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:17:05] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:17:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:17:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:17:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:17:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:17:05 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:17:05] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:17:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:17:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:17:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:17:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:17:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:17:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:17:06 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:17:06 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:17:06] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 12:17:06] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:17:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:17:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:17:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:17:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:17:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:17:06 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:17:06] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:17:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:17:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:17:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:17:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:17:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:17:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:17:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:17:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:17:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:17:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:17:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:17:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:17:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:17:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:17:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:17:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:17:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:17:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:17:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:17:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:17:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:09 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:17:09] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:17:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:17:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:09 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:17:09] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:17:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:17:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:10 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:17:10] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:17:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:17:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:10 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:17:10] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:17:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:17:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:10 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:17:10] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:17:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:17:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:11 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:17:11] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:17:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:17:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:13 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:17:13] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:17:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:17:13 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:17:13] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:17:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:17:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:13 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:17:13] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:17:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:17:13 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:17:13] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:17:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:17:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:14 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:17:14] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:17:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:17:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:14 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:17:14] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:17:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:17:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                
=========================================
FECHA: 09/06/2026 12:17:44
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-2KSjSWPwr+xI7ToQgB4zX.yKy_tq6cbG_mRDSJy_BoKldroiYtO
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69253200",
    "serieinterna": "EP2536",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "9291721",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "insumo",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12882",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACbAMoDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xAA\/EAABAwMBBQYDBAYLAQAAAAABAAIDBAURBhIhMUFhE1FxgZHBFKHRIiMysRUWM0KS8CQ0NTZWYnJzsuHxov\/EABgBAQADAQAAAAAAAAAAAAAAAAACAwQB\/8QAMBEAAgECBAIJAgcAAAAAAAAAAAECAxESITFBUWEEEzJxkbHB0eEigRQjNEJEofD\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAEREAREQBERAEREAREQBEXl72RsL5HBjWjJc44AQHpU141JS2t3w8bTVVh3Ngj3kHqeXhxVfXakqblO636fhMryMPqCMNZ1H1KsbHp6C0s7Z57eskGZJnb9544z\/JVmFRzkZXVlVeGl937cTxZG3yaofW3WRsUT2ER0oA+zkg5P\/e\/ertEUG7svhDBG1794REXCYREQBERAEREAREQBERAEREAREQBERAERUV71I2hmFBQx\/E17yA1g3hme\/r0XUm3ZEKlSNOOKROut5orPD2lVJ9ojLI273O8B7qgjobrqp4nuL3UVvyHR07eLxy\/9PkFMtOmnCb9IXmT4ysdggO3tj9j+S0SndR7OpnwTrZ1Mo8Pf2I9FQ01vp2wUsLY2DkOJ6k81IRFWakklZBERDoREQBERAEREAREQBERAEREAREQBERAc+3hMxgErO1AyWbQ2seC6LMaiPwOorRcQQwOf2UjuH2c8\/IlaYjIx3qTVkmVQqYpSi9jP3u9zGoFotA7Suk3OeOEQ+v5KVYtP09ni7R331Y8feTHf5Dp+a62eyU1nieIyZJpDmSZ3F3TwVkuuVlaJXCk3LrKmuy4fPMIiKBpCIiAIiIAiIgCIiAIiIAihVt4t9vlbFV1TInvIwDk8eGccBu4lSopY5omyxPD2PGWuacghdsyKlFuyeZ7REXCQREQBERAEREBn9awCTT7psb4JWPHrs+6uaGc1VBT1B4yxNf6gFRdQQ9vYK5mM\/cucPEb\/AGXHS0\/b6co3c2tLDu7iR7KesDMsukPmvJ\/JboiKBpMnX6jkOpGU8dU2mpKVx7YnDjKRnLQOPLA6+Sn0mrrZV1bKcGSIy47N0jcB3Ly37vJdoNM22GumrHxmaSVxOJDlrcnPD6rpfbPFeLa6nIDZWDML8fhPd4FWtwdkYlHpEU5XXd6cizRUml7s+428w1G6rpT2coO4nuOPl4hXaras7M1U5qpFSW4REXCYRRrhXwWyjfVVJIjYQDsjJ3nC7QysnhZNGcskaHNPQ71225zEr23PaIo1xrGW+3z1chAETCd\/M8h5nAXFmG0ldnyuuVFbY+0rKhkIPAHeT4AbyqCfU9dcnmCwUL5d+DUSN+y32Hn6Lxp3T1PX0bbpdWfE1FQ4vG244A4DIHHgtUxjI2BkbQxrRgNaMAKx4YviZY9bWV74U\/H4KC2aVhY2Se7EVtXOPvHP3hvh16+ivooo4YmxRMDGMGGtaMABe0UXJvUvp0oU1aKCIiiWBERAEREAREQEW5\/2VV\/7D\/8AiVWaM\/u1B\/qf\/wAiriqYJKWZjuDmOB9FRaHeXafweDZnAfI+6muwzNL9RHufoaJERQNIREQGVu7TYNRQXiPdTVTuyqRngTz9BnyPetSCCMg5BVBrUluny4HDmysII4gq6pS40kJeSXGNuc8c4U5ZxTM1L6as4LTJ+J2REUDSeJYYp2GOaNkjDxa9oIXprQ1oa0AADAA5L6iCwWTrHyan1B8BDI8W6jIM7mHG07fz8RjyJVjqm7PtdsDadxFVUO2IsbyO8+3iQpFgtLLPa44MDtXDald3u7vAcFZH6ViMlT82p1S0Wb9EWLGNjY1jBhrQAB3BekXKepgpmbdRPHC085HBo+arNWSR1RU1Tq2y0wP9LErh+7E0uz58PmoI1n242qG0VdQM44Y38uAKmoSexRLpNGLti9fI06LMDUd8Iz+rk2\/q76J+sd8\/w5N6u+idXI5+Kp8\/B+xp0Wch1e2OdkFzt1RQvkIDS8Eg9d4G7PitC1zXsD2ODmuGQQcghccWtS2nVhU7LPSIiiWBERAcK1\/Z0NQ\/ONmJxz3blS6JZs6dYcY25XHx5eytLy\/s7JXOzginkweuyVB0g3Z0xSbsE7ZP8ZVi7DM0s+kLufmi7REVZpCLy97I2F8jgxrRkuccALLV95qb9Um12MnszunqsEBo6fzv5KUYtlVWrGms9dlxPNTMNW3qOjgBNuon7c0gO6Q8sehA6ErWqHbLZTWmjbTUzMDi53Nx7ypi7Jp5LQjRpyinKfaevsERFAvCIiAylU+Gq1034t7I4aCEOb2p2QXciM8d7v8A59Z9w1ba6FuIpRVyn8LITn1PBdLppqhu1dFVVG0CwEPa047QcsnopNHZbbb3B1NRxMeP3y3LvU8Fa3FpXMUadZSko2V3qUorNVXb+rUsdthOCHy73Y8x7BdafR8UrxNdq2orpeBBeQ3Hd3\/MLSIo43tkWLo0XnNuXf7aECmslrpMGGggaRwcWAn1O9TgABgDAC+oott6l8YxjklYIiob3qRlHJ8BQN+JuD\/stY0ZDCe\/r0RJt2RGpUjTjikRtUVDrjVwWCkIM0jw+V2CeyA3jh6+i0kMTIIWQxjDI2hrR0G5VGn7I+3MfV1j+1r6jfK8nOz\/AJQfz\/6V0pSa0RXRjK7qT1f9IIiKBoCIiAqtTP2NOVp3\/s8bupAXrTjNjT1CN37IHd13qNrF2NNVA5EsB\/iCn2zs6eyUhc4MYynZlzjgD7I3lWfs+5m\/kPkvUmqHcLtQ2uPbrKhsZIy1nFzvAcVSVepai4VJoLBAZ38H1BGGs6j6n0KkW3SsEMgqrnK6vqjvJkOWA9AePmmFLORx1pTdqSvz2+SuaLhrGfakD6O0sP4f3pcfz4DqtRRUVNb6ZtPSxCONvIcz3nvK7gADAGAF9UZSvlsTp0VB4m7ye4REUS8IiIAiIgCIiAIiIAvjnBrS5xAAGSTyRzg1pc4gADJJ5LIPnrtX1k1PSymmtkJ2XvHGX6+HLmpRjcpq1cFkldvRHWtvFbfq99rsjtiFoxNVDh5Hu+Z8FcWexUdmiIhBfM\/9pM\/8Tj7cf\/VKoLfS22mFPSxBjB5knvJUldlLKy0I06LTx1M5eXcERFA0EO7W8XS2zUZldH2g3Ob3jeM94yvVtp56S3xQVM\/bysyDJ3jJx8sBSkXbu1iGBYse+gREXCZHr6KK40UlJOCY5AM46HPss\/8AqjVTiOCtvM81JGMCJoIzjhxJ91qEUlJrQpqUYVHeSI9FQ01vp2wUsLY2DkOJ6k81IRFEtSSVkEREOhERAEREAREQBERAFFuNwgtlFJV1JIjZyaMknkAlfcaW205nq5RG0cBzd0AWbpKWq1XcG11fG6K2xb4YDn7z69T5d6nGN83oZ6tXC8EM5P8A12fBHe9Vt2nu\/R9tfwaPxSN9\/kFqKOjp6CmbTUsYjjZwA\/M967NaGtDWgAAYAHJfVyUr5bEqdFQeJu74hERRLgiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAoF3u9NZqM1E5JJ3MYOLz3KeuNRSU9WIxURNlEbw9ocMgOGRn5ldVr5kZ4nF4dTN26zVN7qxdr4MsI+4piMADvI9ufNakAAYAwAvqLspNkKVKNNZa7viERFEtCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiA\/9k=",
    "razonSocial": "ILUSTRE MUNICIPALIDAD DE SIERRA GORDA",
    "nombreTecnico": "DANIEL FUENTELZAR",
    "nombreContacto": "CARLOS HIDALGO PRIETO",
    "correoContacto": "administrativo.daem@munisg.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28906\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "12:18",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "12:14",
    "horaDespacho": "12:17",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 12:17:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:17:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:57 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:17:57 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:17:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

[09/06/2026 12:17:57] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 12:17:57] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:17:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:17:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:17:57 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:17:57] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:17:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:17:57 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:17:57] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:17:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:17:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:58 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:17:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

[09/06/2026 12:17:58] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:17:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:17:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:58 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:17:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

[09/06/2026 12:17:58] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:17:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:17:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:58 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:17:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

[09/06/2026 12:17:58] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:17:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:17:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:01 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:18:01] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:01 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:18:01] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:01 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:18:01 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:18:01] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

[09/06/2026 12:18:01] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:02 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:18:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

[09/06/2026 12:18:02] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:02 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:18:02] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:02 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:18:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

[09/06/2026 12:18:02] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:03 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:18:03 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:18:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

[09/06/2026 12:18:03] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

[09/06/2026 12:18:03] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:03 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:18:03] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:03 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:18:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[09/06/2026 12:18:03] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:03 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:18:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

[09/06/2026 12:18:03] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:03 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:18:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

[09/06/2026 12:18:03] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:04 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:18:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

[09/06/2026 12:18:04] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            
=========================================
FECHA: 09/06/2026 12:18:37
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-ShF9L-JPyLfVlbZ0cijMgFW0GxkGauQCC3pIpBmRfUfyGroTUW.
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69253200",
    "serieinterna": "EP2536",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "9291721",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "insumo",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12882",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACrAOwDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgIDAQf\/xAA8EAACAQQAAwQHBgQFBQAAAAAAAQIDBAURBiExEkFRYRMicYGRobEUFTLB0fAWQuHxIyQzQ1JTYnKi0v\/EABgBAQADAQAAAAAAAAAAAAAAAAABAgME\/8QALxEAAgECBAIJBAMBAAAAAAAAAAECAxESITFBMlEEEyJhcYGh0fBCkbHBFHLh8f\/aAAwDAQACEQMRAD8A\/ZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcylGEHOclGMVttvSSMtdZbIcQ3M7HBt0raPKrdva37PD6vyLRi2ZVaqp97eiJma4lja1vu\/HU\/tV\/PcVGPNQfn4vy+JNxFvlKSqTyd1CtKaTjCEdKD5t\/VL3HzEYKzw9LVGPpK0vx1p\/ik\/yXkWZLatZFKcJuWOo\/LZe4ABQ6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAQq2XsaGQpWFSulcVfww0\/dvw2Sk2Q5KOrJoAIJABWcQZT7pxFW5i16V+pT2t7k\/wBt+4lK7sVnJQi5PRFRn7itm8rT4fs5NU4tSu5rWlHafy+ujR2dnQsLWFtbU1CnBaSXf5vxZWcMYf7sxyqVtSurhdupJrmt8+zvv19S6LSf0rQwoQedSer9FyAAKHSAAAAAAAAAAAAAAAAAAAAAAAAADI5jM5ijn69GzW6FpSVV02l\/iLS7TT1z\/F0\/7S0YuTsjKrVjSV2a4ETGZCllLCnd0k4qa5xfWL70SyrVjSMlJXQMBxfb1JcSSlB6mrZVoaf\/AB238ot+435leKqapZrEXfZTUqjpVE+ji2uXwcjWk7SOTpscVLzRe4e\/+88Vb3ekpVI+sl3SXJ\/MmmY4Qbs6uQw9R+vbVu1HfLtRfLfyT96NOUmrSNqE3Omm9f2DLcXN077G3FxSnVs6M3Kcae+1va815ftmpAi8LuTVp9ZDDcy\/8UZO\/l2MThas9\/7lblH39F8z68dxXfPdxk6VnBvfYpfiXwX5mnBbGlojPqHLjm36fgzEeFMg5ekqcRXbqb3tJ\/8A0Hw1mqEZStuI68pa1GNVS7P1f0NOCOskP4tLv+79zK\/fHEmJesljld0U0nVo9fl+aRc4zO47LLVrcL0nfSn6s17u\/wBxYlNkeF8bkJ+l7Dt6y5qpR9V75aevcTeL1ViMFWnwvEuT9\/cuQZL7dxBw2lG+o\/eNlFf60PxRXm\/1+JpbK9t8haxubWoqlKXR9Pc0VlFrM0p1ozeHR8mSAAVNgAAAAAAAAAAAAAAAZbOwjY8V4vIRS1Xfoai117tvx5S+RqSj4usneYGrKKfbt36aLXl1+TZeD7Rz9Ji3TbWqz+xW0pvhPO1KdXaxd7JyhLupS\/p09mvA1sZKUVKLTTW013lZbu24iwFJ3EVOFemu3r+Wffrwaeyow99WwF\/9x5OT9DJ\/5Wu\/w68P30ZZrF4oyhJUWl9D07r7eHI1ZmOOoyjiravH8VK4T+T\/AERpzPcbpPh2W10qx0Vp8SNelK9GXgR8g1i+MLK\/g1GjfxdKo0nzfLr\/AOvwNSZrie0d1wvSuIb7dsoVVy29a0\/rv3F1jL6nksdQu6b5VI814PvXxJlnFMrReGpKPPNfv1JYAMzqAAAAAAAB8bSW29JAHld16NtaVa9xr0VODlPa3taM1wfZVK2FdWcuxGdaTgtctcly9+z5kLutxVePFY56sKck7m47pafRfl4+xGntrenaW1K2ox7NOlFRivJGnDG27ONWrVcS4V6s9QAZnYAAAAAAAAAAAAAAADmcI1Kcqc4qUZJqSfejoAGY4Om7aWQxM5Nu1rNx33p8vy+ZdZXFW2Xs5W9xHzhNdYPxRSXEvuzjyjV1qnkKXYl\/5dPqo\/E1BpN54kclCKdN0pbNry2MlTyeX4YaoZSk7yzSShcU+sV01t9X5P4nOVyNLiipaY3GynKm5+krTcdJJLktPr15+7qa6UVKLjJJprTT7zzpW1ChKUqNGnTcvxOEUt+0Y1rbMh9HnbBi7Pr9zp0qbo+hcE6bj2ez3a6aMzwxWljcpeYGs9dibqUG\/wCaP9tP4mpM9xPjK0vRZiw5Xlnzev54Lu136+jZEHfsvcvXi1apH6fxuaEEPFZCGUxlG8hBw9IucX3NPT9vNMmFWrZHRGSkk1uAAQSACnzfENHEuNCnTlcXlRbhRin39G\/h06kpNuyKTnGEcUnkWN3eW9hbTuLmqqdOC5t\/ReLMxO5yfFtWVKzTtMWnqdSS9ap4rz9i97PWz4fvstcxv+IKreudO1g9KPt10+vizTwhCnBQpxUIxWlGK0kXuoaZs57Tr8WUeW78eR42NjbY61jbWtNQpx+Lfi33skAGep1JJKyAABIAMzxDlri6ulgsS+1c1eVaaevRrw39f1LRjidjKrUVON3\/ANJ9DP07zOyxtpRdanSi3VrqXqxfgvHw\/sW5BxOKt8RZRtrePPrOeuc34snCVr5E0lPD29fx3AAFTQAAAAAAAAAzvGlrOpiqd5SeqlnVU0965Pl9dfAurC7hfWFC6g1qrBS5Po+9fE6ureF3aVrap+CrBwevBrRR8GXEnjKthVa9NZ1XCST3pNvXzUjTWHgcvBX\/ALL1X+GiABmdQAAAAAABDvMdTvbm1rTq1Yu1n24xhLSk\/Px6fXxJhJCbu7kXJV6ttjbmvRi5VIU5OKS3z14d5U8L4lUbZZO7Uql9dJylOp1in3L3GgBKlZWM5U1Kam9vlwACpqDinVp1U3TqRmk9Nxe9PwOyLa42zs4ThQt4xU5uct7luT6vmTkQ73yJQBns1nasrj7ow69LfTfZnNdKS7+fj9BGLbyKVKkacbsZvN1ncLEYhekvqnKU10pL9foTsJhKOHttJ+kuJ86tZrnJ\/ofMJhKOGt2k\/SXFTnVrPrJ\/oWhaUlayM6dOTl1lTXZcv9AAKHQAAAAAAAAAAAADL5WwyGHv6uZxPZlSku1c0XtufNtv+2tGoPjSa01tMtGVjKrTVRW0ezImKyNLK2FO7pNalylFPfZl3roiYZPEVv4bzVXD3PbjbXEu1bVJPk3\/AF5L2rzNYJqzy0K0KjnDtarXxAAKm4AAAAAAAAAAAAAABns\/mbiNZYnFU5VL2suco\/7affvx8+4l4bDW2Bs5NyUq0lutWl3\/ANCdSsLWhd1bqlSUa1VanLb5nrVpQrUp0qkVKE4uMovvT6ou5ZWRzxpPG5yze3d83PlvcUrqhCvQqKpTmtxlHoz0MnhqtTh3NVMJdN\/ZriXbtajfLb7vf09q8zWESjZlqNTrI55NagAFTYAAAAAAAAAAAAAAArc5h6WasJW82o1I86VTW+y\/0ZX8P5iuq8sNldQvaPKEm\/8AUX5vXxNER52FpUvYXs6EHcU4uMajXNL9\/mXUsrMwnSeNThk9+9EgAFDcAAAAAAAAAAAAAAAAAAquIcPHMY5048rin69GW9al4e88uGcxLJ2UqNwnG7tX2Kql1fg\/lz80XRmM7aVsRk4cQ2MO1FerdUly7UeXP996TNI9pYWctVOnLrV5+HPyNOCPZXtvkLWFzbVFOnNcn4eT8yQZnSmmroAAEg8bu7oWNtO5uaip0oLbbOq1anb0Z1q01CnBblKT5JGTjTq8Z5P0s+3TxNtLUY9HVl+\/gvNsvGN83oYVarhaMc5PT5yNTZXlG\/tKd1QbdOotxbWn4HucUqVOjSjSpQUIQWoxitJI7KM2V7Z6gAAkrqksuszBU4W7x7j6zbfb2WIBLZWMbXzAAILAAAAAAAAAAAAAAAAAAAAAA5lGM4OE4qUZLTTW00dAAx8JT4PzUqc03iryW1P\/AKUv6fNew18ZKUVKLTTW013kbI2FHJWNS0rrcZrr\/wAX3Mzlpw3mbWMqry7hVpR7NJLbjKOt6fv18DXKSu3mcaU6EsMY3i\/T5sa08rm5oWdCVe4qxpU4LblJ6RQWnGeP+xdq9k6VzT9WdOKc+014NLXPRnLrOUszduvk5T+z02\/Q2VLfrPnpuX59fIRpSbzIqdNpxisLu38zLiP2vjK7faU7fEUpcl0lVf79y8zV29vStaEKFCmqdOC1GMeiKHF081c3NCu1Tx+PppOFtGHOS10a7jRETexfo8cnN6vd\/ruAAMzqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKPL8S0cfXdla0Z3V9LlGlFPSb8X3+xfIg08Jmsy1UzV\/OhSfS3oNL465fHZpYW1vTryrwo041ZLUpqKTa3vr7T1LqVlkczoubvUeXLbz5lRbcL4a1p9hWMKj75VfXb+PT3E62x1lZvdtaUaLffCCT+JJBVyb1ZrGlCPCkAAQaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH\/\/Z",
    "razonSocial": "ILUSTRE MUNICIPALIDAD DE SIERRA GORDA",
    "nombreTecnico": "DANIEL FUENTELZAR",
    "nombreContacto": "CARLOS HIDALGO PRIETO",
    "correoContacto": "administrativo.daem@munisg.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28906\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "12:19",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "12:14",
    "horaDespacho": "12:18",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 12:18:37 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:18:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:39 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:18:39] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:39 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:18:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

[09/06/2026 12:18:39] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:39 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:18:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

[09/06/2026 12:18:39] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:39 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:18:39] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:39 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:18:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

[09/06/2026 12:18:39] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:39 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:18:39] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:40 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:18:40] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:40 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:18:40] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:43 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:18:43] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:43 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:18:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

[09/06/2026 12:18:43] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:43 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:18:43 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:18:43] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 12:18:43] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:44 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:18:44] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:44 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:18:44] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:44 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:18:44 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:18:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

[09/06/2026 12:18:44] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

[09/06/2026 12:18:44] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:52 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:18:52] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:52 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:18:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

[09/06/2026 12:18:52] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:52 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:18:52] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:52 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:18:52] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:52 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:18:52] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:53 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:18:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

[09/06/2026 12:18:53] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:53 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:18:53] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:53 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:18:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[09/06/2026 12:18:53] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:55 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:18:55 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:18:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

[09/06/2026 12:18:55] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 12:18:55] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:55 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:18:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

[09/06/2026 12:18:55] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:56 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:18:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

[09/06/2026 12:18:56] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:56 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:18:56] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:56 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:18:56] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:57 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:18:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

[09/06/2026 12:18:57] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:57 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:18:57] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:19:03 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:19:03 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:19:03] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 12:19:03] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:19:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:19:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:19:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:04 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:19:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

[09/06/2026 12:19:04] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:19:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:19:04 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:19:04] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:19:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:19:04 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:19:04] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:19:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:19:04 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:19:04] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:19:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:19:04 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:19:04] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:19:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:19:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:04 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:19:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

[09/06/2026 12:19:04] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:19:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:19:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:05 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:19:05] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:19:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:19:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:05 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:19:05] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:19:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:19:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:05 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:19:05] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:19:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:19:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:06 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:19:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

[09/06/2026 12:19:06] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:19:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:19:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:06 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:19:06] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:19:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:19:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:06 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:19:06] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:19:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:19:06 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:19:06] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:19:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:19:06 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:19:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

[09/06/2026 12:19:06] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:19:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:19:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                
=========================================
FECHA: 09/06/2026 12:19:48
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-j16J0ZomLRPMwJp6iSucUCrOxZJ3Pp_CrG0OTYWtbVbGG51rg_V
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76318598",
    "serieinterna": "TO2789",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "9291721",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "insumo",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12932",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACFAOADASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAQMEAgf\/xAA6EAACAQQAAwQHBgQHAQAAAAAAAQIDBAURBiExEiJBURQyYXGBkbETI6HB0fAVM0NSJCU1QlRy4XP\/xAAYAQEAAwEAAAAAAAAAAAAAAAAAAQIDBP\/EAC4RAAIBAgQEBAUFAAAAAAAAAAABAgMREiExQQQyM7ETYXGRFFGBofAiI1LB0f\/aAAwDAQACEQMRAD8A+zAAAAAAAAAAAAAAAAAAAAAAAAERxFlq+GtKN1RhTnB1lCqpJ77LT6c1z5EuQ3FtH7bhu60m3BRmtLfRrf4bLQtiVzGu5KlJx1sS8ZKcFJdGtno4cJX9JwlnV3tujFP3paf4o7iGrOxpGWKKfzAAILAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0Xturuxr2z\/q05Q+a0bwCGrqzK9wTcOtgFSk+dCrKGvFeP5lhKxwf3bvMU4pKMbnkkunOX6FnL1OZmHCu9GP5oAAUOgAAAAAAAAAAAAAAAAEPl+IaONnG2oU3d3c3pUab5ry35EpNuyKTnGCvJkwDnsa9W5tIVa1CVCo\/WhLXL5M6CCyd1cAAEgAAAAAAAAAAAFY4V5ZrPxXJK55Ly70yzlY4W72cz0\/B3Ok10femWcvU5jm4XpL692AAUOkAAAAAAAAAAAAHmc4U4OdSShGK25Sekj0VGpOrxhk6ltCbp4q1l3pw61X+\/l8S0Y3MatTBZJXb0Rsus3f524lZYBOFKL1Vu5LSXu8vqSeG4dtcR985OvdyWp1p9fh5EhaWdvYW0Le2pKnTguSX1fmzeS5ZWWhWFHPHUd5fZegABQ6AAAAAAAAAAAAAAACscIp+m5l65elfnIs5WODO\/LKVerncvvefX9Szl6nMc3CdFfXuAAUOkAAAAAAAEVfZuFrl7TGUqLr1riXfUZa+zj5\/V+5EpN6FZTjBXkSoBxZbIwxWNrXc+bgu5H+6T6L5hK+RMpKKbZE8U5WpCEMRYdqV7daT7D5wj\/79NkriMZTxONpWlPm4rc5f3S8WRnC2MlCjPK3sN3t3Jz3Jc4RfRc+m\/posJeTssKOajFyfiy1enkgADM6gAAAAAAAAAAAAAAAYk1GLk+SS2zJrrfyKn\/V\/QEMrnAicsRcVWtOdzL3erEs5W+Bf9Al\/wDeX0RZC9TnZz8L0I+gABQ6QAabq8trKi6t1XhRgvGctb93mCG0ldm4xKSjFyk0kltt+BXLrjG3k3QxNvVvrh+qowfZX5\/vqaY4TOZqKlmr90KDe\/RqKW9eT1y+ey+D+WRzviE3amsT+3udF\/xdRhX9ExVF39y3pdj1N+9dfhy9ps4ewla1rVsnkZKpfXL3z\/pry9\/01pEnYYyzxlFUrShGmtc5a70ve\/E6w5JK0RGlJyU6ju1otkCp3MVxRxLG2T3Y47vVOjVSW+nLz1r4MluJMn\/C8PVqQn2a1T7uk\/KTT5\/JP46McNYt4vEU4VFqvV+8q767fh8Fy9+yY\/pWIir+7UVLZZv+kS4BhtJbb0kZnUZBG3fEGJsW4176l2lycYPttP3LeiMqcZ0Ks3Sxljc3tT2R0vzfX2FlCT2MZcRSjk5FlBWP49xFLnHh9peUpPYlxNlrSDq3+Cqxor1pQb7vtf7RPhsp8VT3v7Ms4OHF5izzFB1bSo32dduElqUN+a+B3FWmsmbxkpK8XkAAQWAAAAAAB5nHtwlHeu0mtnoAFa4Gl2cTXt5aVSjcSUo73rkv0fyLKVe8xmTw+Wq5PDUo16dx\/Ot3578P3y5mVxRlpJRXDd0pt6bfa0vb6prKOJ3Rw0qqowVOpdNeTzLOcGSzVhiobu66jLW1Tjzk\/gQio8WZdfe1qeMoyXSC1L9U\/ijvx\/CmMsmqlam7uv41K\/e5+7oRhitWaeLUn04283\/hwLO53ML\/ACfGqhR3r7eu1zXmt8vls92vCMriv6VnLyd5W\/sjJqC+PX5aLMkktJaSMjHblyJXDqWdR4u3sabe0trSHYtrenRj5Qgo\/Q3AGZ0JJZIAAElQzdzRveKra0vKyoWlpH7RynLsqUt+3r0S5e3mSF1xnh7eXZpzqXMvKlDx971+BJXmHx1\/UVS6tKdWa13n15Hu1xtjYpei2lGk0tdqMFv59WaYotK5xqlWUpNNZvXcgf4pxLlV\/gMfCypSXKrWe3+P6MwuEr29fay2Zr1tvnTp9Px5ePkWkDG1pkW+GUuo3Lt7Ih7XhXDWnONlGrLWt1m57+D5fgSlKjSoQ7FGlCnHyhFJfgbAUbb1N404Q5VYGG0ltvSRkq2ayNfM3ksDimn\/AMmv\/tjHxX6\/ImMbsrVqqnG++y+Y4Y7NbO5W6tkvRJT7MHFai37F++paTkxmOoYqxhaW67sebk+sn4tnWJu7IoQcIJPUAAqbA57y+tbCiq13WjRpuSipS8W\/A6DnvbK2yFtK3uqSqU5eD8H5ryZKtfMrLFZ4dTfGSlFSi001tNeJk8UqUKNKFKnFRhCKjGK8EuiPZBYAAAAAAAAAAAAAAAAAAAAAAGm7u6NjaVLq4n2KVNbkwQ2krs3GG0ltvSRD0+KMe8Wr+vKVCMm1GnLnOWvJLzIqVzluLU6VtTdhjW9TqS9aovZ\/5y82XUHuYS4iCso5t6JfmRtyGYuM5dPFYRt02tV7pbSivY\/L6+HmTGHwtrhbX7K3j2py51Ksl3pv9PYbsbjLXFWkba1h2Yrm5PnKT82zrEpbLQU6TvjqZy7egABQ6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARucxcMtYejyrTpd9NSj79c148mwCU7O6KzipRaehx43g\/F4+Uak4yuaqXWr6u\/8Ar+uydSSWktJAByb1Kwpwpq0FYyACDQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\/9k=",
    "razonSocial": "SOCIEDAD DE INVERSIONES SANTA LAURA SPA",
    "nombreTecnico": "DANIEL FUENTELZAR",
    "nombreContacto": "RAQUEL SUAREZ ROBLES",
    "correoContacto": "raquel.suarez@santalauraspa.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56921995553",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-I895\",\"id_control\":\"28957\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-I896\",\"id_control\":\"28957\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-I897\",\"id_control\":\"28957\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-I898\",\"id_control\":\"28957\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-R956\",\"id_control\":\"28957\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "12:20",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "12:14",
    "horaDespacho": "12:19",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 12:19:48 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:19:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:50 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:19:50 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:19:50] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 12:19:50] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:19:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:19:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:19:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:51 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:19:51] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:19:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:19:51 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:19:51] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:19:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:19:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:51 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:19:51] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:19:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:19:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:51 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:19:51] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:19:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:19:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:52 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:19:52] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:19:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:19:52 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:19:52] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:19:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:19:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:52 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:19:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

[09/06/2026 12:19:52] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:19:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:19:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:19:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:19:56 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:19:56] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:19:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:19:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:19:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:19:56 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:19:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

[09/06/2026 12:19:56] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:19:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:19:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:19:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:19:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:19:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:19:56 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:19:56] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:19:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:19:56 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:19:56] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:19:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:19:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:19:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:19:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:19:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:19:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:19:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:19:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:19:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:19:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:19:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:19:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:19:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:19:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:19:57 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:19:57] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:19:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:19:57 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:19:57] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:19:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:19:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:19:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:19:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:19:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:19:57 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:19:57] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:19:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:19:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:19:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:19:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:19:57 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:19:57] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:19:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:19:57 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:19:57] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:19:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:19:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:19:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:19:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:19:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:19:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:19:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:19:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:19:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:19:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:19:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:19:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:19:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:19:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:19:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:19:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:19:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:19:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:19:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:19:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:19:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:00 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:20:00] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:00 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:20:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

[09/06/2026 12:20:00] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:00 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:20:00] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:00 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:20:00] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:01 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:20:01] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:01 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:20:01] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:01 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:20:01] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:01 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:20:01] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:01 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:20:01] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                
=========================================
FECHA: 09/06/2026 12:20:35
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-bIrThD9-veAp3NZ4mHzj2P9_Mn+UdzHAh3_FzxIiMNrJxFaKqFo
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76318598",
    "serieinterna": "TO2820",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "9291721",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "insumo",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12931",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACFAOADASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAQMEAgf\/xAA6EAACAQQAAwQHBgQHAQAAAAAAAQIDBAURBiExEiJBURQyYXGBkbETI6HB0fAVM0NSJCU1QlRy4XP\/xAAYAQEAAwEAAAAAAAAAAAAAAAAAAQIDBP\/EAC4RAAIBAgQEBAUFAAAAAAAAAAABAgMREiExQQQyM7ETYXGRFFGBofAiI1LB0f\/aAAwDAQACEQMRAD8A+zAAAAAAAAAAAAAAAAAAAAAAAAERxFlq+GtKN1RhTnB1lCqpJ77LT6c1z5EuQ3FtH7bhu60m3BRmtLfRrf4bLQtiVzGu5KlJx1sS8ZKcFJdGtno4cJX9JwlnV3tujFP3paf4o7iGrOxpGWKKfzAAILAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0Xturuxr2z\/q05Q+a0bwCGrqzK9wTcOtgFSk+dCrKGvFeP5lhKxwf3bvMU4pKMbnkkunOX6FnL1OZmHCu9GP5oAAUOgAAAAAAAAAAAAAAAAEPl+IaONnG2oU3d3c3pUab5ry35EpNuyKTnGCvJkwDnsa9W5tIVa1CVCo\/WhLXL5M6CCyd1cAAEgAAAAAAAAAAAFY4V5ZrPxXJK55Ly70yzlY4W72cz0\/B3Ok10femWcvU5jm4XpL692AAUOkAAAAAAAAAAAAHmc4U4OdSShGK25Sekj0VGpOrxhk6ltCbp4q1l3pw61X+\/l8S0Y3MatTBZJXb0Rsus3f524lZYBOFKL1Vu5LSXu8vqSeG4dtcR985OvdyWp1p9fh5EhaWdvYW0Le2pKnTguSX1fmzeS5ZWWhWFHPHUd5fZegABQ6AAAAAAAAAAAAAAACscIp+m5l65elfnIs5WODO\/LKVerncvvefX9Szl6nMc3CdFfXuAAUOkAAAAAAAEVfZuFrl7TGUqLr1riXfUZa+zj5\/V+5EpN6FZTjBXkSoBxZbIwxWNrXc+bgu5H+6T6L5hK+RMpKKbZE8U5WpCEMRYdqV7daT7D5wj\/79NkriMZTxONpWlPm4rc5f3S8WRnC2MlCjPK3sN3t3Jz3Jc4RfRc+m\/posJeTssKOajFyfiy1enkgADM6gAAAAAAAAAAAAAAAYk1GLk+SS2zJrrfyKn\/V\/QEMrnAicsRcVWtOdzL3erEs5W+Bf9Al\/wDeX0RZC9TnZz8L0I+gABQ6QAabq8trKi6t1XhRgvGctb93mCG0ldm4xKSjFyk0kltt+BXLrjG3k3QxNvVvrh+qowfZX5\/vqaY4TOZqKlmr90KDe\/RqKW9eT1y+ey+D+WRzviE3amsT+3udF\/xdRhX9ExVF39y3pdj1N+9dfhy9ps4ewla1rVsnkZKpfXL3z\/pry9\/01pEnYYyzxlFUrShGmtc5a70ve\/E6w5JK0RGlJyU6ju1otkCp3MVxRxLG2T3Y47vVOjVSW+nLz1r4MluJMn\/C8PVqQn2a1T7uk\/KTT5\/JP46McNYt4vEU4VFqvV+8q767fh8Fy9+yY\/pWIir+7UVLZZv+kS4BhtJbb0kZnUZBG3fEGJsW4176l2lycYPttP3LeiMqcZ0Ks3Sxljc3tT2R0vzfX2FlCT2MZcRSjk5FlBWP49xFLnHh9peUpPYlxNlrSDq3+Cqxor1pQb7vtf7RPhsp8VT3v7Ms4OHF5izzFB1bSo32dduElqUN+a+B3FWmsmbxkpK8XkAAQWAAAAAAB5nHtwlHeu0mtnoAFa4Gl2cTXt5aVSjcSUo73rkv0fyLKVe8xmTw+Wq5PDUo16dx\/Ot3578P3y5mVxRlpJRXDd0pt6bfa0vb6prKOJ3Rw0qqowVOpdNeTzLOcGSzVhiobu66jLW1Tjzk\/gQio8WZdfe1qeMoyXSC1L9U\/ijvx\/CmMsmqlam7uv41K\/e5+7oRhitWaeLUn04283\/hwLO53ML\/ACfGqhR3r7eu1zXmt8vls92vCMriv6VnLyd5W\/sjJqC+PX5aLMkktJaSMjHblyJXDqWdR4u3sabe0trSHYtrenRj5Qgo\/Q3AGZ0JJZIAAElQzdzRveKra0vKyoWlpH7RynLsqUt+3r0S5e3mSF1xnh7eXZpzqXMvKlDx971+BJXmHx1\/UVS6tKdWa13n15Hu1xtjYpei2lGk0tdqMFv59WaYotK5xqlWUpNNZvXcgf4pxLlV\/gMfCypSXKrWe3+P6MwuEr29fay2Zr1tvnTp9Px5ePkWkDG1pkW+GUuo3Lt7Ih7XhXDWnONlGrLWt1m57+D5fgSlKjSoQ7FGlCnHyhFJfgbAUbb1N404Q5VYGG0ltvSRkq2ayNfM3ksDimn\/AMmv\/tjHxX6\/ImMbsrVqqnG++y+Y4Y7NbO5W6tkvRJT7MHFai37F++paTkxmOoYqxhaW67sebk+sn4tnWJu7IoQcIJPUAAqbA57y+tbCiq13WjRpuSipS8W\/A6DnvbK2yFtK3uqSqU5eD8H5ryZKtfMrLFZ4dTfGSlFSi001tNeJk8UqUKNKFKnFRhCKjGK8EuiPZBYAAAAAAAAAAAAAAAAAAAAAAGm7u6NjaVLq4n2KVNbkwQ2krs3GG0ltvSRD0+KMe8Wr+vKVCMm1GnLnOWvJLzIqVzluLU6VtTdhjW9TqS9aovZ\/5y82XUHuYS4iCso5t6JfmRtyGYuM5dPFYRt02tV7pbSivY\/L6+HmTGHwtrhbX7K3j2py51Ksl3pv9PYbsbjLXFWkba1h2Yrm5PnKT82zrEpbLQU6TvjqZy7egABQ6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARucxcMtYejyrTpd9NSj79c148mwCU7O6KzipRaehx43g\/F4+Uak4yuaqXWr6u\/8Ar+uydSSWktJAByb1Kwpwpq0FYyACDQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\/9k=",
    "razonSocial": "SOCIEDAD DE INVERSIONES SANTA LAURA SPA",
    "nombreTecnico": "DANIEL FUENTELZAR",
    "nombreContacto": "RAQUEL SUAREZ ROBLES",
    "correoContacto": "raquel.suarez@santalauraspa.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56921995553",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-I895\",\"id_control\":\"28955\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-I896\",\"id_control\":\"28955\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-I897\",\"id_control\":\"28956\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-I898\",\"id_control\":\"28956\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "12:21",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "12:14",
    "horaDespacho": "12:20",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 12:20:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:35 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:20:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:44 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:20:44] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:44 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:20:44] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:45 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:20:45] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:45 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:20:45] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:45 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:20:45] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:45 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:20:45] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:45 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:20:45] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:46 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:20:46] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:46 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:20:46] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:46 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:20:46] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:53 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:20:53] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:53 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:20:53] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:53 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:20:53] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:53 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:20:53] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:53 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:20:53] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:54 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:20:54] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:54 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:20:54] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:54 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:20:54] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:54 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:20:54] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:54 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:20:54] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:55 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:20:55] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:55 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:20:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

[09/06/2026 12:20:55] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:55 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:20:55] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:56 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:20:56] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:56 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:20:56] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:56 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:20:56] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:56 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:20:56] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:56 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:20:56] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:56 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:20:56] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:56 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:20:56] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:21:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:21:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:21:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:21:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:21:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:21:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:21:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:21:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:21:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            
=========================================
FECHA: 09/06/2026 12:21:33
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-LFlxAx_-zAQYM+ayxgPyKPILDMBTPX7Z4q9sMkdSkMnTZaoyxtN
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76318598",
    "serieinterna": "TO2820",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "9291721",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "insumo",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12931",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAB\/ANYDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xAA8EAABAwMCAgYIAwYHAAAAAAAAAQIDBAURBiExURITIkFhcRQygZGhscHRFRYkM0JDkuHwByNSU1SC0v\/EABgBAQADAQAAAAAAAAAAAAAAAAACAwQB\/8QAKxEAAgIBAgMHBAMAAAAAAAAAAAECEQMSITFBUQQTIiNhoeEykbHRccHw\/9oADAMBAAIRAxEAPwD9mAAAAAAAAAAAAAAAAAAAAAAABBvNetrtM9Y3oq+NvZR2cK5VwnDzPtnmnqLRSzVX7Z8aOdtjP9oU+uHuW1QUzPXnqGtTPLC\/XBo42NijbG31WIiJ5ITaqKM8ZOWaS5JL3PQAIGgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzGof1Gp7JSrwa9ZFRN87ovD\/r8zTmYmRKr\/EODCZ9Fpu1ju2Xj\/Ohpyc+CRmwbynL1\/CQABA0gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA41UqwUk0yLhY43Oz5JkHG6Vmd0qnpd2u9yX9+bq2eWVX7GoM7oeJI9PI5E\/aSucvwT6GiJ5PqZn7KvJT67\/cAAgaQAR62vprdTrPVSpGxOfFV5IOJxtJWyQDJ\/id+1FltrgShpf8AkSru7yX7e8ubNa6i2Ry+k3CasfKqKqv4N8t1\/tCbjS3ZTDN3j8KddSzABAvAAAAAABS6h1Ay0xJDAiS1su0cSJnHiqfLmfdQ35tohbFCzraybaKNEz4ZX7d5H0\/p99NKtzubuuuEva7W\/V5+vy4IWRiktUjLkySlLu8fHm+nyXNCtStHEtXjr1aivRE4LyJABWaUqVAAA6AAAAAAAAACq1PP6PpytdnCuZ0P5lRPqWpQa1crdOSIn70jEX3kobyRT2h1ik\/Rk3TtOlNp+ijRMZiR6+bu0vzLIj29vQttM3OejCxM+xCQcbtk8aqCXoAeXOaxive5GtamVVVwiIZarvFdqCd9vssatpc9GWrXKbd+OXzOxi2Ry5Y411b4IlXHVKJUrQWiBa2rzhVT1G89+\/5eJxpNM1NfO2s1DUrUSJu2navYb54+Se9S4tNnpbPSpDTty5d3yO9Z6+P2J5JyS2iVLDKfizO\/Tl8nxrUa1GtREREwiJ3H0ArNQAAAAAAKu93uGzU6KqdZUSbRQpxcv2JF0uUFpoX1c+Va3ZGpxcvciFLp62T1dZJfrmzMsy5p43Lnq28\/djH9ScUqt8DPlyS1LHDi\/Zdf0dbDYpmVC3e7OWSvl3a1f4SffHuNCARlJydssx44446UAAcLAAAAAAAAAAAAAU2rKd9RpyqbGmVYiPVPBFRV+GS5PL2NkjdG9qOa5FRyL3odTp2QyQ1wcepAsFS2rsVHK3\/aRqp4t2X5HK76iobS1Wvf11RwSCNcu9vIr3aQlY97KW8VFPTSOVywsRURF9i4+BPtmmLbbJevjjdLNnKSSr0lb5cvmTei7szRfaHFRSr1+CqdSX\/UiolZ+gt79+rTZ708U4+\/HkaSioqe30rKamjRkbE2Tn4r4kgEXJvYux4VB6rt9WAARLgAAAAACLT3Glqqmemhl6UtOuJG4XZQd2xRsc57I2tc9cuVEwrvPmDrORutzJ3OaK66oSjr54YKChTpqkrkb1i7bb+Pw8y4m1TZKZMLXMdjgkbVd8kO1bYLXcZuuqqRr34x0kc5ufcqe8Q6ftEHqW6n273MRy\/HJY5RaVmRY80ZSca357lXLrehc\/q6OmqKqTuRrcIv1+B5\/NdxdvHpqsenPtf+DSRwxQt6MUbI28mtREPZHVHoT7vM+M\/sl\/dmY\/NlwZvNpusjZ3u7X1ah6Zreia5G1dJVU6rw6TM7GlPL42St6MjGvbycmUGqPQd3mXCfsiFRXu2XBejTVkb3\/wChVw7lwUnlNcNKWmva79MlPIvB8PZ38uCkG0zV1s1B+CT1a1kKxq+Nzt3RpvhFVd+XPu9jSmrQWXJCSWRcea\/RpwAQNIAABWU98p6m8zWtkUqSQtyr3Nw3u2337\/gWYB11yIxUl9TsAA4SAAAAAAAAAAAAAAAAAAAAAAAAAKa8aihtkzaWGF1VWPTswx8U5Zxn3FZ+FagvrlddKr0Gld\/AiXdyclx9VXyJqG1vYzzzpPTBW\/8AcWS7tqdsU3oFpZ6ZWv7KdDdrF8ef07yRp+yvtrJKmrlWauqN5X9LKJ4Ey22iitUXQpIUauMK9d3O81JoclVREMUnLXke\/JckAAQNAAAAAAAAAAAAAAAAAAAAAAAAAAAAOc00dPC+aZ6MjYmXOcuyIdCj1PbLjdqSKmopmMjV\/wDmtdsipxRVXkipwx3+B2KTdMryScYNxVsq4tTVM9WlyqJfQ7XEqoyLCK+dd02Tv7s9yHZLrqC9r0bbRJRUz02qJs5xzT+iL5ne0aOpKLoy1ypVzt4I5Ow32d\/tNGWylFPwoyYsWaUfMlX5+P4RUWXT1PaVWd73VNW\/1538fZyLcAqbbds2QhGC0xWwABwmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf\/2Q==",
    "razonSocial": "SOCIEDAD DE INVERSIONES SANTA LAURA SPA",
    "nombreTecnico": "DANIEL FUENTELZAR",
    "nombreContacto": "RAQUEL SUAREZ ROBLES",
    "correoContacto": "raquel.suarez@santalauraspa.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56921995553",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-I895\",\"id_control\":\"28955\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-I896\",\"id_control\":\"28955\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-I897\",\"id_control\":\"128956\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-I898\",\"id_control\":\"28956\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "12:22",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "12:14",
    "horaDespacho": "12:21",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 12:21:33 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:21:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:21:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:21:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:21:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:21:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:21:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:21:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:21:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:47 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:21:47] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:21:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:21:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:21:47 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:21:47] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:21:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:21:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:21:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:21:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:48 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:21:48] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:21:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:21:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:21:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:21:48 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:21:48] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:21:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:21:48 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:21:48] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:21:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:21:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:21:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:21:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:21:48 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:21:48] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:21:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:21:48 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:21:48] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:21:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:21:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:21:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:48 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:21:48] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:21:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:21:48 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:21:48] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:21:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:21:48 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:21:48] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:21:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:21:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:21:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:21:49 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:21:49] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:21:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:21:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:21:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:21:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:21:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:21:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:21:57 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:21:57] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:21:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:21:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:21:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:21:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:21:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:21:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:21:57 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:21:57] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:21:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:21:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:21:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:21:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:21:57 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:21:57] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:21:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:21:57 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:21:57] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:21:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:21:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:21:57 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:21:57] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:21:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:21:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:21:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:21:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:21:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:21:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:21:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:21:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:21:57 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:21:57] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:21:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:21:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:21:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:21:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:21:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:21:58 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:21:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

[09/06/2026 12:21:58] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:21:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:21:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:21:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:21:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:21:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:21:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:21:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:21:58 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:21:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

[09/06/2026 12:21:58] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:21:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:21:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:21:58 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:21:58] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:21:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:21:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:21:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:21:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:21:58 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:21:58] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:21:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:21:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:21:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:21:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:21:59 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:21:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

[09/06/2026 12:21:59] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:21:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:21:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:21:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:21:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:21:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:21:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:21:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:21:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:21:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:21:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:21:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:21:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:21:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:21:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:21:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:21:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:21:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:21:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:21:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:21:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:21:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:21:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:21:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:21:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:43 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:22:43] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:22:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:22:43 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:22:43] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:22:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:22:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:43 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:22:43] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:22:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:22:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:43 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:22:43] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:22:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:22:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:43 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:22:43] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:22:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:22:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:44 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:22:44] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:22:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:22:44 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:22:44] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:22:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:22:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:44 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:22:44] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:22:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:22:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:44 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:22:44] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:22:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:22:44 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:22:44] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:22:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:22:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:44 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:22:44] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:22:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:22:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:44 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:22:44] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:22:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:22:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:45 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:22:45] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:22:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:22:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:45 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:22:45] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:22:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:22:45 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:22:45] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:22:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:22:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:45 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:22:45] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:22:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:22:45 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:22:45] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:22:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:22:45 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:22:45] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:22:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:22:45 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:22:45] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:22:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:22:45 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:22:45] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:22:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:22:45 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:22:45] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:22:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:22:45 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:22:45] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:22:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:22:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:22:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:22:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:22:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:22:53 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:22:53] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:22:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:22:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:22:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:22:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:22:53 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:22:53] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:22:53 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:22:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[09/06/2026 12:22:53] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:22:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:22:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:22:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:22:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:22:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:54 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:22:54] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:22:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:22:54 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:22:54] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:22:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:22:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:22:54 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:22:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

[09/06/2026 12:22:54] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:22:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:22:54 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:22:54] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:22:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:22:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:54 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:22:54] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:22:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:22:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:22:54 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:22:54] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:22:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:22:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:22:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:22:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:22:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:22:54 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:22:54] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:22:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:22:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:22:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:22:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:22:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:22:55 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:22:55] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:22:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:22:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:24 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:25:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

[09/06/2026 12:25:24] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:25:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:25:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:24 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:25:24] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:25:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:25:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:25 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:25:25] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:25:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:25:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:25 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:25:25] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:25:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:25:25 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:25:25] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:25:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:25:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:25 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:25:25] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:25:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:25:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:26 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:25:26] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:25:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:25:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:26 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:25:26] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:25:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:25:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:26 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:25:26] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:25:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:25:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:26 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:25:26] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:25:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:25:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:26 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:25:26] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:25:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:25:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:28 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:25:28] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:25:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:25:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:28 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:25:28] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:25:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:25:28 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:25:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

[09/06/2026 12:25:28] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:25:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:25:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:28 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:25:28] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:25:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:25:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:28 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:25:28] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:25:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:25:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:28 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:25:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

[09/06/2026 12:25:28] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:25:28 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:25:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[09/06/2026 12:25:28] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:25:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:25:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:29 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:25:29] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:25:29 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:25:29] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:25:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:25:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:25:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:29 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:25:29] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:25:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:25:29 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:25:29] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:25:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:25:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                
=========================================
FECHA: 09/06/2026 12:26:24
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-eQN8voYOdJwREb+DjTOIUEfg_7b7NyTC2Dnrfwo60pXRNG0sP7_
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69020400",
    "serieinterna": "TO3146",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "9291721",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "insumo",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12950",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADoAQUDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABFEAABAwMCAggDBQYCCAcAAAABAAIDBAURBiESMRMiQVFhcYGRobHBFBUjMkIWJFLR8PFi4QclM0NjkrLCNURTcnSC0v\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADIRAAIBAgMFBgUFAQEAAAAAAAABAgMREiExBBMiQVEyYXGBodEUI7HB8DNCUpHh8ST\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAEREAREQBERAEREARcqmpgo4HT1ErYo2DJc44Cy8t2umpJHU1mjdTUg2kqX7Ejw7vIb+SlGLZTUrRp5avoXVRf7fT3KG3mXjnlfwFrBngJ5Z9VZqrs1go7MwmIdLO788zx1j5dwVokrcjtPeWvMIiKJaFwrY6iWjljpJhDO5uGSEZDSu6IcaurFFpu7VFW2agr2ltbSHD883jv\/AK8D2q9WXujG27WlurGEj7ZmKQdhOzR82+wWoU5parmUUJOzhLWLt7BERQNAREQBERAEREAREQBERAEREAREQBERAEREAREQBQLteKSz0xlqZBxEdSMHrPPgPquF9v0Nng4WgS1Um0UI5k958PmoNp06+eoF1vZ6aseeJsTvyxjsGPp2KairXkZqlWTlu6evovzoRqe2V+p6htZeQ6no27w0zdifE\/z5+S1UUUcETYoWNjjYMNa0YAC9ouSk2TpUlTz1b1YREUS4IiIAiIgMxq7DK6zTnbo6n83PG7T9Fp1mNa7RW4t3eKkcI7\/62WnU5dlGal+tU8voERFA0hERAEREAREQBERAEREAREQBERAEREAREQBU1+vwtbW01PGZ66faKMDOPE\/yXu\/3uOz0nVHSVUvVhjG5J7yO5RtOWOSk47lcfxK+o6xLucYPZ5\/2U4pJYmZqlSUpbunrzfT\/AE8WDTz4JTc7oemuEp4usc9H\/n8uxaJEXJScndltOnGnHDEIiKJYEREAREQBEVZVaitNHL0UtZHxg4LWnix545LqTehGU4wV5OxV6v8AxKyz0\/bJU\/Vo+qnXjUtHa3fZ2A1NWdmwR7kE8s93lz8Fmb1cRqW\/UdJb3FgicWsmJIyeZcMcuS1Vn09RWdvFG3pag\/mneOsfLuVzSjFYjBCc6lSbpaZZ+XIqxT6sureOSpitsTjkMb+cD03+IXo2bUtD1qO9CoxjqTtxkdwznHLwWnRQxvoaPho6uTv1uUVj1C6vqHUFdTupq6MdZpGzvLu78K9WX1SfsN3tV1BDWxy9HIT\/AA\/24lqFySWTXM7RlK8oSd2voERFA0BERAEREAREQBERAEREAREQBVt8vMNloDPJ1pHdWKP+J38u9Sq2tp7fSvqamQMjYNz3+A8VnLJRT36vde7m09E137pEeQHfj28ypxS1ehnrVGmqcO0\/TvJGn7PPLMb1dj0lZLvGxw\/2Q8uw\/JaNEXJScncsp01TjZBERRLAiIgCIiAKNX3ClttMairlEbByzzce4DtK4Xm7w2ahdUyjjdnDIw7BeVmJoTI3791Mdv8Ay1ENs9oGPp79ynGF82Zq1fBwx19F4n24XO5Xelknlf8AdtoB2kx15h2ADmSfQeKiWfS7rxIyodE6lt4\/KScyS+P+fLuCs7fZ6rUFTHdLw0MpgP3elbkDh7NuwfPyWsJZFHnZrGD0ACsc8KtEyU9n3zx1NO\/n7LuMnTUtP+3jIKWFkcVDT\/laPDn4nL1rlmNJNdWVlyu7gQ2pl4Y87bAk+uxbv5rTqFTWxq2VcDkubb9giIqzUZvXQ\/1Ex3a2oaQe44ctDES6JjjuS0ErP65x+z4znPTNx7FX9Pn7NFxYzwDOPJTfYRmh+vPwX3OiIigaQiIgCIiAIiIAiIgCIiAL45wa0ucQABkk9i+rLajrJrpXxaeoHgOeeKeQHZoGeqfn7BSjHEyqrUVON+fLxOH4ms7n2x2qkf5GU\/29gfFa9rQ1oa0AADAA7FwoqKnt9KympowyNg2Hf4nxUhJSvktCNGk4JuWcnqERFEvCIiAIiIAiKvvty+6rRPVDeQDhjGP1HYfz9F1K7sRlJRi5PRGVut0p63UbqmoPFQ2zZrR\/vZO4eZHlhqsrRa57zVNvV4bzOaenOcNHYcH+jzVTpfTclxe2vuDSaYOLmMfzlPefD5rfK6clHhieds1KVX5lTRu9uv8AzkFQ6vuApLOaZhzNWHomAZzj9R28NvVXrnBrS5xAAGST2LJ0I\/aPVclwPWo6Dqxb7OcOR+Z9Aq4LO75GraJPDgjrLL3ZoLPb2Wy1wUjRgsbl573Hcn3U1EUW7u5fGKilFcgiIuEjMa769spYBzkqRj\/lI5eq06zGsPxKuz04\/NJU7e7R9Vp1OXZRmp\/rVPL6BERQNIREQBERAEREAREQBEXiWVkMT5ZHBrGNLnOPYBzKArdQXhtooC5nWqZepAzGSXd+PD+S5abtD7dSOqKo8VbVnpJnHmM74+O\/iqyywyaivL75VMIpoXcNNE4\/lcMb\/Xz8lrVZLhWEyUvmz3r05e\/mERFWawvnEOLhyM4zhVeoLy20UOWdapmy2BmM5d3+mVz05a56KndVVssklZVAOl43Z4e4fFSw5XZTvfmYEvHuLlFFqblTUlTBTSvPSznDGtaSeeMnHIeKlKNi1NN2QREQ6fHODWlziAAMknsWErK46s1HT0DBiiikO45uaObvDIG3mrO\/1lTeLh+z1uOCOtUy9gbtt5bjPjgd646QoYPva41UTQI4XdBECN8d58SAPcq+Kwpyep5tabrVFSj2b599tUa1rWsYGMaGtaMAAYAC9Is7e75K+o+57P8Ai1snVe9vKIdu\/f8ALzVSi5M3VKkacbs5ahuUlxq2aftrwZJTioeBkRt7v5+yvbdQQ2yhipIB1YxucbuPaSotjscFlpuFv4lQ\/eWU83HuHgrRdk1otCulTld1J6v0XQLy5zW44nAZOBk8yvSyNU6bVGoBRxOe23UL8yPYcZeM8j57DwyVyMbkqtXAlZXb0NciIolxmLwOn1taIP4GGT5n\/tWnWYZ+8f6RH43+zU2\/hkD\/APSsL7f4LLCAW9LUyD8OIdvifBWSTdkjHSnGG8nJ5X+mRbosTpqsqa+6S3a43ARRsBjaxz+Frid+Eb8hsfZa+KtpJ38ENVDI7GeFkgJ+C5KDi7FtGuqscWh3REUC8IiIAiIgCIiALMaqq5aupprBSH8WqIMrgT1W+nkSfAK\/rqyKgopaqZwayJuTn4D3VHpejfVST3+rH49W49G0\/pZyHyx5DxVkMuJmWu3Nqkuevh+ZF9SUsVFSx00AIjibwtBOV2RFWaUklZBc6ieOlp5J5nBkcbS5xPYF0WVv9RNe7rHp+jcRG0h1W8YwG5B+HzwpRjdldapu43WvLxPljppb9c332uDjCx+KON3IAE748Pn5LQ11xprfRTVU0g4ItiAdy7sb5o9sdutbxA0NZTwksAHLAX5PNM+VreKV7y7d\/ESetk7+ytjHeO\/Iw1a3wkEtZPV95s9LyG93yrvNQAHxAMiYP0Zz2+Qx6la9ZrQtKYbG6d3OolLh5Db5grSqFTtGnZE1RTerz\/sKl1JeTa6RsNOOKsqepC0c29nF\/XarWpqI6SmlqZncMcTS5x8AsXabjQyXCa\/3ipiZK48MEABcWjvAG\/Zj3KQjfMbRVw2gnZvn0XUvrNam2G0Szyta+rLHSTSZzkjJxlQ9Guho9OPqaiVsbXzOc57zgdg5+iiXTVM1xt9RFbbfK6AxuEk8g2aO3YeHefRc7Bpg3O2089fWSPpdzFTMcQBuc+W+eXurLcLcjKpreRjRV7J\/YmVmo6u7SPobBA95PVdVEYDfLu8z7K2sdjgstNwt\/EqH7yynm49w8FOpqWCjgbBTQsijbya0YXZVOWVlobIUXix1Hd+i8AiLOX+\/yRzfdVq\/ErX7OeDtEO3fv+S5GLk7IsqVI044pHLVGoOjBtFvJkq5yGOLT+TO2PM\/BXFktUdntrKVpDn\/AJpHgY4nH+seiyeirX9puUtxlPSR05LWOP63nt37h8wt4p1LR4UZdmxVW60+encgih3K60dpg6arlDf4WjdzvILNzV931DG+WF33ZagDxzv\/ADOA5nx9NvFRjBvMvqV4weFZvp+aESG\/0tr1FeKuZr5Huf0cbG\/qwcHfsGwVTA24akvjuF34s2S53NsbPoADhQaGgqLlWNpqSMue89vJo7ye5fplkslPZaToouvK7eWUjdx+g8Fom409NTyKEKm0uzyincr6XQ9qhjLZzLUOOMkv4R7BKnRFrkj\/AHV0tLKDlsjXl2D5H6YWjUevq20NBPVO5RMLuWcnsWfHNvU9V7NQUc4qxUaSuFTWUE0NW8ySUspj4yclw8T2nmi+aLpDT2Jszh16l5kJPPHIfLPqiTtidiWzYtzHEaBERQLwiIgCLjUVVPSR9JUzxws\/ikcGj4rP1+ubdA1zaRslTJjY44WZ8Sd\/gpKLloiqpWp0+27HjUD3Xy7QWGmceBh6Wpewg8I7vTPxC00UTIYmRRtDWMaGtaOwDkFhrJR6maJaqlhjjdVkPdUT44iOfI9norX9n79V711\/ezvbACB8OH5KyUVpcx0ak23PA235ZctTSvkZGMve1o\/xHChy3u1w\/wC0uNMNs4EoPyVPHoW25Dp6iqmI73gD5KZFpGxxHP2LiP8Ajkcfqo2h1NGLaHpFLxf+Hyo1fZYoXOZWCR4B4Whjtz7LOad1Fb7VBPNWCeWrnfxPcxgO3dkkeJU\/VtDQUVuhpaOggZUVUoYwtY3iwO48+eB6rTUdBT0VLFBHGzETQ3iDQCSBz81K8VHxM+GtUrZtLD3dfMzNw1fFXW+opqW31TnTRuYC5oxgjGds96xs8boGiKWnfDLxFx4wR1dsbH1X7A5wa0ucQABkk9i\/K7\/X\/el6nqGbsJDIxjsG3YrKLTySMu305RSlOV34Glt9RqmG3wU1JaoWRxsAD5Xbnx\/MPkpIotX1TR0txp6YHm1oHEPZv1WmAAGAMALP6s1B91Uv2ameBVyjb\/ht7\/PuVSk5OySNs6UaUMU5uy7\/AGMrPT11wvn3ULpNWt4g18hc4sGOe2Ty7+9Wos1HY9UUcD4hU01Uzhb0zQ4h\/wDfHupGg7aI6Sa4yR9aU8Ebj\/COePX5Lvq4iCvs9YcgRVG5A8Wn6fNWOXFhRkhRSo76Szun5XLa+tA0\/XNa3AED9gPBcdKEHTVHg56rv+oqfVxiqoJ4mkOEsTm7b5yCFTaIl6TTzW7fhyub8j9VV+xnoPLaF3p\/VGhXxzg1pc4gADJJ7FCud4obTGH1cwaSOqwbud5BZ7hu2rnN4+KgtZ32PWlGfj8vNcUb5vQlUrqLwxzl09+h3uWoam4zOtun2GZ5GH1Lfys8j9fZRrnQw6a00+CIGWsriInydrs88eHZjxWnoLdS2ymFPSRCNnM97j3k9qyut7nAKmkhhk46imfxvbjLRyIB9hsrIO8lFaGSvFwpupUfFp4X6Gjt1PT2OywxSvZEyJmZHvIA4jud\/NVFXqipr6g0enqc1D8dadzcNb5Z+ZVDTVNBdX\/atQXiRzmnIp2sdj3AwPT3VodZW6ipxTWe2u7mgtDRnyGST8V3A09Lv0IfExcUlLDH+3\/hPt2lIopvtt3m+21R6x4jljT68\/XbwVRq\/UcVTH92UL+KNrvxZGnZ2P0jvH8l8q4r\/d6SSsukho6GNheY2gt4vDh57+KqaO2Cb7up3sBlrZuLxbEDjPr1j6KUY54pMpq1Hh3dKNk+b1ZuNMWqK22iFwjAnnYHyuO5JO4Hp3K5XwAAYAwAvqzN3dz2KcFCKiuQWV1FWS3eubp2hALnEOnkycMA3xt6euApN91BJFN912lhnr37EtGRH\/n8lK0\/ZGWej\/EIkq5etNJzye4HuU0sKxMz1Jb6W6jpzf2LOCFlNTxwRjDImBjfIDARdEVZrSsERQrpdaa0UhqKl+OxjRzce4LqV8kclJRV3od6mqgo4HT1ErY4283OWck1DcbxM6n0\/TEMacOqpAAB6EYHxPgudHbK\/UtSy4XkGKjG8NKDjiHYT\/PmfJaqKKOCJsULGxxsGGtaMABT4Y97MqdStmuGPq\/YztPo9s0wqbxWy10v8OSGjw7\/AJKFUU1PeNRMtFJCyGhoTxz9G1oDnD055238Vor7cvuq0T1Q3kA4Yxj9R2H8\/RQtJWw2+0iaYH7RVnpZCeeP0j238yVJSdsTK5UYY1Siu9\/neXjWhrQ1oAAGAB2L6iKk3hERAZaq\/wBaa8p4Bgx2+LpHD\/Fz+Zb7LUrL6SzWV91uh3bNNwMx3DJ+RatQrJ5O3Qy7NnFz6tv7IpNXV5obDLwO4ZJiI2kEgjO55eAKwVkpHVV4ooyOq6UE454Byf7rQf6QKviqKWjDh1GmRw89h8iuehreX3Seqe3alZwNy3HWPP2GfdXQ4adzzq9621qHJf8AWbepqI6SmlqZncMcTS5x8AvzG4fb7jUMrJGvM1a5wiia05LOzzG+B5eS1Woqp92uMOnqR2eNwfUPafygb8Pwz54Xi3wRza3e2JvDDbacRs7N8Y5D\/wBzlGnwK5ftPz5qC0vbz5\/0hS6tp6CjhpX2qri6JgaG8Pdtnfxyudfqyx3Sm+z1FDVzNDg4DhaMHv2d4\/FbBFXije9vU0ujVw4ceXgfnFvu01nugFupKl1POMR0853cT2jA7\/mV2sk98hlqrPb4Y4HuJld0v5osgeOO4cjzWq1BZDeKeN0EghqoHcUUh5eR9h7KouxmsuobbdKh3E2SMQ1MjRgOdjBOPj6K1SUtFmYpUJ0ndt4U+XR6+BPtmlaenk+13F5rqwniL5CS0HwB5+qv18BBGQcgr6s7k3qepTpwpq0UFUVumLVX1b6qogc6WTHEQ8jOBjkPJW6Im1odnCM1aSuVUGmLNTkltBG8k5zJl\/wKnQUNJSnNPSwwn\/hxhvyXdEcm9WI04R7KSM1q2SWpkobPFkCsky88tgRt9fQKPYIG1up6utaP3eiYKeDq45DhHwB9\/RdNbt+zw0txhnMVVE\/gjwcEgjfs8PioVmOpLRQ\/ZqezMc0vLy55wST6+AV6XBkebUf\/AKeJN2zyz5Zet2bUkAZJwAszcNQVVyqfu3Tw6V\/+8qf0sHgfr7IbFd7zMX3qu6KAE4p6c4BH9d+Sr2gt1JbYOho4WxN5nHNx8T2qvhj3s1ve1clwr1\/wiWSxQWeEkHpKmQfizHmT3DwyrVEUG23dmiEIwjhisgiIuEgsnHE2\/ayqHVDQ+mtw4Gsc3Yu8fXJ9AtYsxpb\/AMc1B\/8AJ\/7nqyGSbMtdYpwi9G\/ojToih3a4MtdsmrH4JY3qtP6nHkPdQSvkaZSUU2yiugF91VT2wZdS0Y6SfbILueM+w59p7lqVntIUEkNufX1PWqK1xkLiN+E8t\/Hn6haFSm87LkZ9nTcXUess\/LkERFA0hRLrN9ntNXMObIXkeeDhS1V6lz+ztbj\/ANP6rsdUV1XaEn3EbRsIi03A7tkc9x2\/xEfIK9VZpzH7PUPDnHRDmvN5v1PamGJv49Y4fh07N3EnlnHIKUk5SdiunKNOjFyeVkYPUtU6t1HUujPFwPEbOEfw7beuVruOLSGl2NcAalw\/Ln80h5+g+QUXTVjbbo5bveGCOZpLm9IfyDtcfFLbE\/U1+fdqhn7lSngp2ObtJzwfqfQdiuk08uSPPpQnFuf756dy5sn6Ztht1DJXVhP2uq\/Emc79I3P1yf8AJRtFxmaKvuTx1quoPPuG\/wA3H2VxfZ\/s1jrZQcEQuAPcSMD4lRtKQdBpukGN3gvPjkkj4YVbd4t9TXGmo1YQX7U39vcuERFUbQod0t8d0t0tHLsHjqu\/hI5FTEXU7ZnJRUk0zNaXu5bGbPcXiOspncDA84L29mM8yPlhaVVF709S3dnSD8GrYPw527HPYD3hVtJqKstD20eoYXtIxw1LBxAjf82OfLs9lNrFnEyRm6HBU05P3NSi5U9TBVwiammZLGeTmHIXVVmtNPNBeZJGRRukkcGsYC5zidgBzK+SyxwxuklkbGxoy5zjgD1WUuNfLqivZara94ogc1NQGnBx2fDbvJ7gpRjcqq1VTXVvRH23R\/tPf33WVpNDSHggY9uzzvv6Hf2WtXCjpIaCkjpadnDFGMNC7pKV2KNPBHPV5sIiKJcEREAREQBZaLNm1u+PAFPc28QJ7H8+fnn\/AJgtSqm\/2b73pozE8R1UB4oXkkAHbnjyHspwaTsyivBuKlHVO\/55FsstqAi83+isjTmOM9NUYPIY5eeP+pKbVU1vL6S\/QOiqIweGYNPDLjyHb3jbyXrR1M6ZlTeKlwdU1bz\/APVufhk9ncApKLheTKJ1Y12qceevckaZrQ1oa0AADAA7F9Rc5JooQTLKxgAyS5wCqN2h0RVdTqWzUpIkr4iR2R5f8sqsOr5Kxxjs9qqKp\/LicMNb54z8SFNQk+RRLaKUcsWf9mnVNqSuoIbVU01TUsZJLEQxmcuJxtsOW\/aq8W\/U923ra9tviOD0cHP4HPuVNoNI2micJHxGplBzxzHPw5LqUY5tlcp1KqajGyfN+xQ2m53ystMFvtVJwNjaWPqnchv2HkNiO8q+tGmqS1k1VS\/7TV\/mdPJ+k9uM\/NRHWO72iqlksU8Rp5n8ToJeTT4bcvXPLuXmS16luzDBcayGnpn7vZEMu8v6Km2no7IzU4yhbHFyktOn56nGtmm1dcBQUTnMtsDgZphtxnw7\/D3Wqp6eKkp2U8DAyOMYa0LxQ0NNbqVtNSxhkbfcnvJ7SpCrlK+S0NtKk43lLOT\/ACyKLWb+DTc4zjicwefWCs7Yzo7VSMxjhgYMd3VCrtW0lRW2J8VNE6WQPa7hbzwralY6OlhY8Yc1jQR3HCPsI5FPfyfcvudURFA0BERAFyqKaCrhMNTCyWM82vGQuqIcaTyZm5tGwxvdLbK6ooHnkGOJA+R7+ZPNePu3VzB0bLxTlgP5nN3I\/wCUrTop7x8zP8NT\/bdeDaMwNL11e5hvN1knY0kmOM4aeWOzz7FoKSjpqGEQ0sDIWDsaMZ8+9d0XHJsshRhB3Sz68wiIoloREQBERAEREARF5e9sbHPecNaCSe4IDL6ud94VlDZYGsdLLJxPdsSwfTbJPkurtD29ruOmqaqB+MZDwfpn4rnpgS3S6V19mZhrz0UAPNrf7YHutSrZSceFGGnShWvVmr308EZgaLbyddqtzTzGV0i0NaWODnvqJTnJ43jB9gtGijvJdS34Wj\/Eq6bTdmpcdHQROI7ZBx\/PKsmMZGwMjaGNaMBrRgBekUW29S6MIx7KsERFwmEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAFntY1j4rYyghaXT1zxGwAcxkZ+YHqtCsrTFt81rLUB5dT25vCzuLtx88+eApw1v0M20t4cC1ll7+hoLdRMt1ugpGcomY8z2n3ypSIoPM0JKKsgiIh0IiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgIN5rvu201FSHNa9rcR8XIuOw+KhaToHUVkjfKPxqk9M89pzyyfLHuoesC6smt1ojJBqZuJ+DjYbfUn0Wla1rGBjRhrRgDuCseUPEzR467f8Vbzep6REVZpCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgM3T0tRV65qKyeF7IqSIMhcQcEkY2PLtctIiKcmUUIpJ97YREUC8IiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiA\/\/2Q==",
    "razonSocial": "ILUSTRE MUNICIPALIDAD DE MEJILLONES",
    "nombreTecnico": "DANIEL FUENTELZAR",
    "nombreContacto": "LUIS OSORIO BERRIOS",
    "correoContacto": "losorio@mejillones.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56552557314",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-I1080\",\"id_control\":\"28966\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"TOS-I1081\",\"id_control\":\"28966\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"TOS-I1082\",\"id_control\":\"28966\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"TOS-I1083\",\"id_control\":\"28966\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"TOS-R1150\",\"id_control\":\"28966\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "12:26",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "12:24",
    "horaDespacho": "12:22",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 12:26:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:24 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:26:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:29 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:26:29] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:26:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:26:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:29 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:26:29] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:26:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:26:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:29 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:26:29] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:26:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:26:29 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:26:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

[09/06/2026 12:26:29] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:26:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:26:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:29 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:26:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

[09/06/2026 12:26:29] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:26:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:26:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:30 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:26:30] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:26:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:26:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:30 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:26:30] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:26:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:26:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:30 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:26:30] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:26:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:26:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:30 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:26:30] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:26:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:26:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:30 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:26:30] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:26:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:26:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:31 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:26:31] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:26:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:26:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:31 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:26:31] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:26:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:26:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:47 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:26:47] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:26:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:26:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:47 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:26:47] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:26:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:26:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:48 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:26:48] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:26:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:26:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:48 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:26:48] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:26:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:26:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:48 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:26:48] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:26:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:26:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:49 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:26:49] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:26:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:26:49 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:26:49] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:26:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:26:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:49 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:26:49] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:26:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:26:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:49 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:26:49] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:26:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:26:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:49 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:26:49] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:26:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:26:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:50 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:26:50] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:26:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:26:50 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:26:50] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:26:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:26:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:28:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:28:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:28:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:28:21 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:28:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

[09/06/2026 12:28:21] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:28:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:28:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:21 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:28:21] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:28:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:28:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:28:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:28:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:28:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:22 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:28:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

[09/06/2026 12:28:22] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:28:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:28:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:28:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:28:22 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:28:22] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:28:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:28:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:28:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:28:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:28:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:28:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:22 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:28:22] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:28:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:28:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:22 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:28:22] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:28:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:28:22 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:28:22] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:28:22 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:28:22] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:28:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:28:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:28:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:28:23 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:28:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

[09/06/2026 12:28:23] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:28:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:28:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:28:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:28:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:23 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:28:23] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:28:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:28:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:28:23 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:28:23] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:28:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:28:23 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:28:23] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:28:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:28:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:28:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:28:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:28:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:32:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 12:32:16 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 12:32:16] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:32:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 12:32:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:32:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:32:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:32:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 12:32:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:32:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:32:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:32:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 12:32:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:32:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:32:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:32:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:32:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 12:32:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:32:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:32:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:32:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:32:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 12:32:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:32:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:32:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:32:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:32:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 12:32:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:32:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 12:32:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:32:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:32:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:32:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:33:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 12:33:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:33:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:33:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 12:33:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:33:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:33:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:33:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:34:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 12:34:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:34:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:34:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:34:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:34:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 12:34:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:34:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                
=========================================
FECHA: 09/06/2026 12:34:55
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-AkEWTv0IFdX9h+i3qq1aeaYAjTPTdViX3pvB.SwF8hAJYeuVQCC
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69020400",
    "serieinterna": "EP3135",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "1080",
    "contadorColor": "3001",
    "contadorScanner": "0",
    "detalle": "Mantenimiento, configuracion y limpieza",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12948",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAD7APoDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABHEAABAwMCAwQHBQQGCQUAAAABAAIDBAURBiESMUETUWGBFCJxkaGxwSMyQtHwFSSS4RYzQ1KC8QclNFNicrLC0iY2VnPi\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMxEAAgECAwUHBAEEAwAAAAAAAAECAxESITEEE0FRcSIyYaGx0fCBkcHhMwUjNFJCU2L\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAEREAREQBERAEREARFxqaqGjp3TzvDI28yfkhxtJXZ1c4NaXOIAAySeii0F0o7myR1HMJBE\/gdjbf8ALxWbdJcNYTFkJfSWlhw5x+9Ly2\/Ww8Vp6GgprdTNp6WIRsaOnM+JPUqbiorPUop1ZVJXiuzz59CQiIoGgIiIAiIgCotR1tZa5KOvikJpI5OGojAG4PX5+eFeqBfIRUWOtjON4XEZ7wMj5KUdcyqsm6bs8yax7ZI2yMcHNcAWkdQvSptJ1BqNOUrnOLnMDmEuOTsTj4YVyuNWdiVOeOClzCIi4TCIiAIiIAiIgCIiAIiIAiIgCIiAIi8uc1jC97g1rRkknAAQHmeeKmgfPM8MjjHE5x6BZJrKjWdwbLI10Npp3eqDsZT+fyXrjn1jcnxBzorTTO9YjYyn9e4e1auGGOnhZDCwMjYMNa0bAK3udTH\/AJD\/APHr+j7FFHDE2KJgYxgw1rRgAL2iKo2BERAEREARFVXjUFFZ2Ykd2s5xwwMPrHPf3BdSbdkRnOMFik7ItCQBknACprrqK000E0D6xjpXMLeGPLtyD3bKtFJfdTYdWvNuoT\/YsyHvHj3+fuUm52a12fT9XLDSsMjYi1ssnrOBPqggnkd+isUYp2ZlnVqSi5QVlzfsU+nb9V0NpFPTWaorA15JfHnG\/TZpVmdYVNOO0rrDV00OcGQ5+rQPirLS9N6Lp6kYWkOe3jdnn6xz8sK1c0OaWuAIIwQeqSlHE8iNGlVVONp2y5IjUFxpLnB21JMJGjGQObTjOCFKWWuMI03eaWvpGGOhqHdnURM+6CeTgP1y8VqVCSSzRopTcrxlqgiIolwREQBERAEREAREQBERAEREAWTu9bPqC6CyW6Qimb\/tUzdx7PZ8z7FM1NdpImMtVDh9bWepgHdjTtnw\/RVhZLTFZrcymZh0nOSQDHG79bKxdlYmZKjdaW7Wi19vckUVFT2+lZTU0YZGwbDv8T4qQiKs1JJKyCIiHQiIgC+OcGtLnEAAZJPRcaysp6CmdU1UgjjZzJ+Q71l3PuOsJi2Ivo7S04Ljzlwf14DxUoxvnwKatZQ7KV5PgSK\/UdVX1Lrfp+LtpMYfU\/hZ4jp5n4qbZtNU1rf6TM41VY7czP3weuPz5qxoLfS22mFPSRCNg545uPeT1KkrrllaJCFFuWOo7vyXT3CzGsZXVJobRFnjqpgXYHIDb658lpJZWQxPlkcGsY0uc49AOZWY02x94u9Tf52YaCYqdpA2HU+Q28yuwy7XI5tDxJUlrL04mojjZFG2ONvCxgDWjuAXpEVZqKHWgB03MT0ewj+IK1tri62UrjuTCwn+EKr1lIGaZqGn8bmNH8QP0VlaozFaKOM82QMafJoU33EZo\/5D6L1ZLREUDSEREAREQBERAEREARFmtNSyG+32OSRzuGfLQTnA4n8vgpJXTZXKphlGPM0qg3i5xWi3SVUhGQMRtP4n42CmucGtLnEAAZJPRZKLi1XqIyne20DsBudpXb4Pn8vauxV83oQrVHFKMe89Pf6EzTNsmJkvVwy6sq9wHDHZt\/mMeWFokRRk7u5OnTVOOFBERcLAiIgChXW601oo3VFQ7wYwc3nuCXW601oo3VFQ7wYwc3nuCpbVaqm71jbzeW+NPTHkwdCQpxjxehnq1XfBDveniznRWet1BUsuV7cWwfehpBsAOmR+iVqWMZGwMjaGNaMBrRgBcqusp6CmfUVMojjYNyfkO8rLmS5auqPsHSUVqY774OHS4P68B4ldznm8kV9mhks5P7v2RrgQRkHIK+rxDE2GFkTSS1jQ0EnJwFmb1fKivqv2LZDxzP2lnadmDrg\/M+7dRjFyeRfUqqnG7+x5vNZNfrkyyW57+xY798lbyAzyz4b+0rSUdJDQUkdLTs4YoxhoUWy2eGy0Ip43F7zvI8\/iPs6BWK7JrRaEKNNpuc+8\/LwCIigaDM66e79kQQM3dLUNAHfsfrhaRjBGxrG8mgALM6oPpN8s1AORl7R+\/TI+gK1Csl3UZqWdab6L59wiIqzSEREAREQBERAEREAWX0v9vfb1VM2jM3C3nvu7f9d60dVMKakmnOMRMc858BlZnS88Np0nNcKg7Pke\/fYvI2AB9oPvVkV2WZarW9hfhd\/Pud9U188pislvPFVVez8HkzByD3Z+QKubZb4bXQR0cGS1g3cebieZKpdK0UtQ6W+1p4qiqJ4M42Z+hj2BaVJ5dlCgnNurLjp4L9hERVmoIiIAo9dWwW6kfVVL+GNgz4k9w8V1lljghfNK8MjYC5zjyAWUiZLq+7tqZWObaaU+o123au\/Xw26qcY3zehRVquNoxzk9Pc92Wgmv1Z+3Lq3MYP7rAfugd\/658+5aeaaOnhfNM8MjYMuc47AL21oa0NaAABgAdFjL3cWX2udQekNprdSPzUTucPXIyMDv64967nN+BU2tmp85PzZ0pYpdX3Z1XUte21U5xFGdu0P65+5aiepo7bTB80kdPC0YGdh7APyWcbqOSoY2g01bXSNjHCJHjDGD9d58iulJpJ1ROKu+Vb6ybn2YPqDw\/kMKUl\/tkiulJr+NYpPV8PnQ4TV901TK+mtjXUlANpKh4wX+H8h5ndaC1Wejs9P2VLHgn78jvvP9p+ilxRRwxtjijbGxow1rRgDyXtQcrqy0NNOjheOTvL5oERFAvCIiAy+1b\/pD6OFHTe7b4\/fWoWW0l++3G6Xb8M0vAz2c\/lwrUqyprbkZtlzg5822ERFWaQiIgCIiAIiIAiIgKnVE\/o+nKx4OC5nB\/EQPqsvRROvht9kiOKSkjEtSWkjicdyPaCSPerfXcxZZoYW\/elnG2OYAP1wp+mbQLTamNe3FRMA+bPQ9B5Db3q6LwwuedUi6u04eCSv62+pbtaGtDWgAAYAHRfVzlqIIBmaaOMd73AfNQJtR2aAevcYD\/wAjuP8A6cqpJvQ3SnCOrsWaLOS64tTDwwsqJ3dOCPHzK5\/0mu1TtRafn35PlJA+Q+alu5FL2qlwd+mZp0WXaNZVvN1LQg+wn\/uVRqChrqKCKOsvM1XUVJ4WU4JDPEnfvxjZSVO7tchPanGOJQdvHIl6mvcNdXMtLKsQ0jXfvUoGeR5Dvx8\/YpUWrbfSxRUFooair7NoaxrG4z9c9+y8aXslkq7aypMQqpmktlMgdwh3PAB2OxC1MMENOwRwRMiYOTWNDR8F2TiuzbQqpQrT\/uYkr\/XLlyMRd77qN5ZTPpm0Yq8sjjaAXuB2xucjnzwFY23QtHBh9fK6pf8A3G+qwfU\/BLJxXvUdXd5Wh0FOeyp84PmPLf8AxLVJKbjkshQoRqt1J9rlc5wwQ00QigiZFG3k1gwAuiIqT0UrBERAEREAVdqCr9CsVXMHAO7MtaT3nYfNWKzGspHVJoLRFnjqpgXYHIDb658lOCvJFG0TwUm1qWGlqT0TTtK085G9qf8AFuPhhW68sY2NjWMGGtAAHcF6UW7u5ZThggo8giIuEwiKPV19HQM46upjhGMjjdgn2DmUONpK7JCLNza1pHS9lbqOorpOnA3AP1+C5ek6uuP9TSwUEZ5Ok5j35PwU92+ORne1U9I3l0XxGpUOpu9upM9vXQMI5tLxn3c1RHSNZWEuud6nm4tyxnIHwycfBTabR9lpzk0xmcDnMryfhyXbQWrGOvLSNur9jnUa1s8JxE6aodyAjj6+eFwOp7rVD9wsM3DzEkxIbjn3AcvFaCnoqSkGKamhh\/5GBvyVJrG6uoraKSBzhUVWw4Tu1o5n6eZ7l2OFuyRXV3sIOc526L3uZR9ZctS32mjLoWTtJEfCPUbj1ieueXire92650FskrK+\/TPdkNZFHkBzj05jpk8u9RtBUpkus9SfuwxY83Hb4Aq0ruK\/auhoRn0W3+vL0Bdt9cDyJVsnaVlojBShio45XcpOyz+aHm0aMpJaGGe5iV1Q8cT2dpsB0G2\/LHVXEGmbLT44LfE7\/wCzL\/nlWqKhzk+J6kNmpQSSijnFTwQDEMMcY7mNA+S6IigaEraHKpqI6SmlqZncMcTS5x8AvzqsmnuU8td2Tn1FwcYqWLhzwxg4JHjtw+bir7UtW+6XFtlhfwQRDtayTbDWDBz5D4kLzpakbcrhPeJIGshjPZUkfCMMA+oGBnvJV8FgjiZ5e0SdeoqcdPl39PU0Vpt7LXbIaNmCWN9Zw\/E48z71B1XcDb7FKWOxJP8AZMxz35\/DKullrv8A611fQW4bxUo7aXB688H3N\/iUIZyuzXX7FLDDjki4sNu\/Zdngpju8Dik\/5jufy8lYoig3d3L4xUYqK4BERcJBERAEREAWWtzRd9Z1deRxQ0LeyicDtxcv\/L3hXd6rxbLRUVXEA9rMR56uOw+Kg6QovRLDFI4faVJMrjjc55fDHvVkcotmWp26sYcs3+C8REVZqPhIAyTgBUdfq630kvYU\/FWz5wGQ7jPdn8sqRerKbz2LHVs0ELSe0jj\/ALQfrwK72+zW+1txSUzWOIwXndx8yprCldmee+lK0clz9l7lH\/6pvjfwWqAnxEhHz+SlUujbbHIZqt0tbM45c+Zx3PXYc\/PK0CJjfDI4tmhe8+0\/H20OVPTU9LH2dPDHE3uY0BdURQNCSWSCIiHTxLKyGJ8sjg1jGlznHoBzKwc0j7pSXPUNQC1jWej0zHYOAdj06cXTvPcrzVdTLOKeyUmTPWuy\/HMMH+XuBULVrIbVpmktkQ5vAHjw7k+ZI96upq1vE87apYsXKK83p9j5pGRtu0zXXF45PcRtnPC0Y+JIVjo+jfFbJK6Z3FNXSGVxOM43xk+8+aqbpGaXS9qs8IDZa5zS4b5ycE583D3e7ZQxMp4I4YxhkbQ1o8AMJN5N8zuzQ7UV\/qvNnRERUnoBRrjWMt9vnq5CAImE79T0HmcBSVkNZ1rZqqmtjpezgb9tUuA3A6fXbqSFKEcTsUbRV3dNy4lLK+WG0tjZ69fepeN4ackR8Ww\/xOz7t1+gW6jZb7fBSRgARMA26nqfM5KxmlIJLrfZbnO3ENMPUBJww8mtHgBn4d6uKzU01VWChsFOKuUbvlP3Gjw\/P5q6om3hRh2WUYR3kuOS5\/GzSLMaWArLtdrm4ZL5ezYe5ueWfZw+5XF4ukNpt76iVwD8ERt6ucqzQ8YZp\/iAI7SZzj48h9FWlaDZrqNSrwjyuzRIiKs1BERAEREARFFr7nR22LtKyoZEOgJ3d7BzKJXOOSirsoNSySXW80VhhB4C4Sznpj\/LPmQtQ1oa0NaAABgAdF+bUOpJ6e9VVe2nE8tU7Azza3uAHsb16L9Ijc58bXObwOIBLe49ytqRcUkYtkqxqynNa\/jgekRFUbgiIgCIiAIiIAvEsrIYnyyODWMaXOcegHMr2s7qqokqDTWOldietcOM\/wB2Mcz8Pc0qUVd2K6tTdwcjxpqJ9yrqvUFQ0gzuMdO0\/hYP8gPI96rZ6So1VqOaWKQNpKJ7GAkkZGd8ePM+72q7vlbHp7T3ZU3qP4RDAOoOOfkMnPf7V305bTa7LDC5pbI8dpID0cenyCsxWvL7GPdKTVF8M31KstbcNesjbjsrfBnDdgDj83D3LUrL6R\/e6+7XI7iafhYfDJOPcWrUKNTW3Iu2XODnzbYREVZqPL3tjY57zhrQST3Bfk1zrJLlcKmu4XBsj\/bwj8IPkB7lvtY13odglY12H1BEQ36Hn8AR5rE3alNqpaagcT20jRUTjGMEjDW\/4Rn+IrTRVszx\/wCoycnhWizfV6FhbYJ66OGxUMgbC4CWtnZ1z+HPgMDxOei21NSUFkoXCJjIIWDie89fEnqo9htMdktTYnECRw7SZxP4sb79wVNX1Uuq6p1BRu7O2wO4p6k8nY7v14qDeN+BfTjuIJtXm9F+Pcz9\/uVRephVuy2EOc2niA\/CN3O+Wf5LaaQ\/9r0f+P8A63LPUlGy6y3OvDAKSjpn09K3O2zSB8CT7XLQaOcHaYpQPwl4P8ZUqjWCyKtkjLfucne6fqi7REWc9YIiIAuFXWU1DCZqqdkLB1ccZ9neqq86mgt8nolIz0qudsIm7hp\/4vy+Syz5RV1gmuL33WuP9XSQbsZ4Ej5DzKtjTbzZjrbXGDwxzfl88EXM+orjd3OjssHYU7fv1lQMNb9B8T4LN1kMFVWspKaokuNbM8NdUvJDM9zRzI8TttsFoBYK6vh9IvlUyio4hxClgw1rAPDkPiVCslVbbdJUXqoaImEllHTtOXcPLbfyJPirYtLumCqpza3nHny6cPrmX9n0zQWSP0mdzZZ2jJmk2az2d3tXCo1vQR1rKenikqGlwa6Ruw8gefwUaOiuuq3tnuBdRW7OWQN+88dD\/M+QXKkoIa7VYpqaIRUFqGCG\/if1yepJ556NULJtuTuaMc4qMaKwpvLmzZoiKg9MIiIAiIgCIiA51E8dNTyTyuDWRtLnEnCzWnj6RNWalr3BjX5ZEXbBjBzPwx5HvX3Vla+onp7HTPDX1HrTPJwGM8fDAJPgFDfxakfDaLYHxWmkwJZuXHjl+vMq6Mez19Dz6tW9Wyztoub\/AESLZHJqW+uu04xRUji2mYRs877\/ACJ8h0Wkr5vR7dUzf7uJ7ueOQJXSCCKmgZBCwMjjHC1o6BQdQvLNP1xBx9i4e\/ZQbxSRfGG6pybzerIWioRFpyN4GO1ke8+O+Por9VWmGBmnKIN5cGfeSVark85Mns6tSivBBeJZWQxPlkcGsY0uc49AOZXtZS+1017r\/wCj9tdgg5qZc+qAOY28efjgJGN2dq1VTjfjw6lS+ufqPV9Hlp9GbJmJpGMsbuT58JXuW3t1BV3qvfM2IQuDYpJThox392w+KsbPSQQa1qYIGcEVHTBjBnfPq5PxK9jRRMronXB\/oJl7XsA05PgTnnjr7dle5JPkeWqNSabaxZu\/2t7lRDeq7UhprTUVUdNGRiaXODL4e3w6\/BXd+mislohtFtZwz1X2cbW88HYnPec81YV2mrXXUcdKacQtiGI3RbFv5+ayVtobrXXKStt9VHVegO7KKSoP3huBgb9N\/NcTjLNZJEpRq0uzLNyyvxtxyNrbbZHb7RHQNwcMIe7H3nHmfeqjQzyLRPTv2khqHBzDzbsPrn3Lybhq+LZ9pppO4sd\/+lTQ3C82m+TPFvjimuDh9g92znZ5g578+9cUW01ctlWhCcGotJZaM\/QEWY49Z1GPsqSl8wfq5RLhbbjDTGpv2oXRxjI7ODPr+AGwyd+igoeJe9pdrqD+uXqaequlBQ\/7TWQxHGeFzxn3c1lLpqWvvEhorFDN2Z2dK1vrO8\/wj9bKHY9KG6y+lSiSGgz6geRxyD6e3\/Nb6CnhpYWwwRtjjaMBrRgBSeGD5sqi620xz7MfNmLtWiat+X3KoMDH\/eijdlzvaeXzWtobbRWuHgpIGRNx6zup9p5lfLldaO00\/bVcvCDs1o3c4+AWIvt7uF1pw6QGjo5P6qIfen8T3j4e0osdTXQ43Q2RdlXl5\/osNSXp94kbZ7NxVBcftHxnZ3\/DnljqTyU+y6Rgoi2ouDhVVIAwHbsZ7O9dtKWM2mg7WdpFVOAZAfwDfA\/P+SvlyU7dmOhOlQxve1dXw5HOd0raeR0DA+UMJY0nAc7Gwz7VT6Utk1vtjn1UZZU1EhfIHHfw\/PzV4irvlY1OmnNTfAIiLhYUFfqWW13N8NbbpW0m3BUM9YHx7uvft4qwob3bbi1ppquNznf2bncL\/cd1Oc0OaWuAIIwQeqpazSNnrCXejmBx\/FC7h+HL4Kd4vUzNVou8WmuTy8y7RZj+h0sYHo98rIsDvP0IT+i11\/8Ak9Z7nf8AmmGPMb2t\/wBfmjTFwaMuIA7yqS5attdvaQyUVUo5MhOR5u5KJ\/QqOcg190q6og53OPnlQ77bqKjdSWW2QsinrX+u85LgzOOeeXPbwUoxhe17lVWrXUG1FLzZDt1hrNT1ct1q5Oxp53nkcucBsAPAYxv3LcUdHT0FM2mpYxHGzkB8z3r1TU8dJTRU0LeGOJoa0eAXVRnNy6FtDZ40lf8A5PVhVuoWGTT9a0f7knyG6sl5exskbo3tDmuBDgeoUU7O5fOOKLjzKvS8jZNOUZac4Zwn2gkK2WSgjvunTLSUlCK2lLy6Ehxy0eP65groYNV3VxZPLDb6dxw7s\/vEdccznzCscbu98jJTrOMFDC7rLT8na+394k\/Zdn+2rpNi5m4jHXfv+Sn2KyQ2Wk4AeOokwZpP7x7h4L1Z7HSWWDgp28UjgO0ldzd+Q8FZKLkrWiW06cnLeVNeHgZjT32uqL3MOTXhh9uSP+1adZjTXqajvrAdjNk+3id+a06VO8c2X+P6v1ZUanrzb7DUSM+\/IOzb4E7Z92V707bv2ZZYIHM4JXDjlHXiPf7Nh5Ksv37\/AKotVsO7GEzPA8+v+E+9addeUUjkO3WlLll+WFUajswvFuLWbVMPrwu8e7z\/AC7lbqHdblFarfJVy5IaMNaB953QKMbp5F1VRcGp6FHQawp47W8XEltbTDhfHjeQ8tvHv7l4t9nqr7VC63wER84KXOwHiO759VVutoukUt4ul2ipJpDxRM2BDRyyBv3ct\/avdHrG6wiSnMUdwLNmysDgT48txt3BX4dcGp5arXaVfTh49UbpzmRRlz3NYxo3JOAAs5XaqfNUGhsVOayc7dqPuN\/P2nAWXmuk1zq\/9dy1fZDdsEDAAT3YJ29u5V3Rz3uSD0WzWVlugOxll593EScZPkSo7vDqWPa3Vyhkul37I8yUdHaT+0dR1fp1eQCynzxY8Md3wU2xWmorq79u3VmJXY9HhxtGOhx08PfzUm06Xgo5fTK5\/pla45Mj9wD4A\/M\/BXyjKfBF1HZ81KSsuXjzb4sIiKo3BERAEREAREQBERAeJZWQxPlkcGsY0uc49AOZWY0y2S7Xasv07SGuPZwNPQfyGB7crtqurkqOwsdGeKoq3faBp3awb7\/P2Aq8oaOK30MVJCMMibgeJ6nzO6s7seplf92tbhH1\/RIREVZqCIiAIiIAiIgMxTH9n68qIntw2ui4mO7zz+hC06zuq6GoIprtRxh81C7jcMblvP4Y+KtrXcoLtQsq4Mhrti082nqCrJZpSMtF4Jypvquj\/ZT2unnqdY3KuniexsIEUXE0gHpkd+wz5rSIijJ3LqdPAmubbCjV9BTXKldTVUYew78twe8dxUlFHQm0mrMoo9G2SM5NO+TfOHSH6K3p6WnpI+zpoI4Wf3Y2ho+C7IpOTerIQpU4d1JBERRLAiIgCIiAIiIAiIgCIiALlU1EdJTS1MzuGOJpc4+AXVZbVlRJXVVLYKV32lQ4OlPc3pn3E+QUoxu7FVapu4OXHh1PWlIZrhU1N\/qx685LIQTkNbnfHy8j3rTrlTU8dJTRU0LeGOJoa0eAXVJO7uKNPdwUXrx6hERRLQiIgCIiAIiID4QCMEZBWVrLbX6crJLjZmCWkkOZ6Xu9nh7OXiFq0UoysVVaSqLk1oyFarrTXejbUU7vB7DzYe4qasxdbVU2isdebM3xqKYcnjqQFdWq6013o21FO7wew82HuK7KPFaEKVV3wT73r4omoiKBoCIiAIiIAiIgCIiAIiIAiIgCIiA5VNRHSU0tTM7hjiaXOPgFm9J08ldVVV\/qm\/aVDi2IHo3rj3AeRTVlRJXVVLYKV32lQ4OlPc3pn3E+QWkpqeOkpoqaFvDHE0NaPAKzux6mT+Wt4R9f0dURFWawiIgCIiAIiIAiIgCIiAKsprFTUd3luFO58Rlbh8TfuE9+FZouptEZQjJptaBERcJBERAEREAREQBERAEREAREQBc5pWU8Ek0hwyNpc4+AGV0Wa1dWPkbT2WmJ7ateA\/HMMz9T8AVKKu7FVWpu4OR80vDJcKuqv9SDxTuMcAP4WA745+zyK0y40dMyio4qaMYZEwNC7JJ3dxRp7uCT149QiIoloREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQHl72xsc95w1oJJ7gsvpyJ12vVXf5h6gcY6cHoMYyPLbzK08sTJonxSNDmPaWuaeoPMLxS0sFDTMpqaMRxRjDWg5x16qSlZMpnTc5xb0Wf14HZERRLgiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiA\/\/Z",
    "razonSocial": "ILUSTRE MUNICIPALIDAD DE MEJILLONES",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "LUIS OSORIO BERRIOS",
    "correoContacto": "losorio@mejillones.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANTENCIÓN PREVENTIVA",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56552557314",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "12:35",
    "ubicacionGPS": "LatLng(lat: -23.1006078, lng: -70.4525322)",
    "horaLlegada": "12:12",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 12:34:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:34:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:34:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:34:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 12:34:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:34:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:34:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:34:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:34:57 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 12:34:57] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:34:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:34:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:34:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 12:34:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 12:34:57 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 12:34:57] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:34:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:34:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:34:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:34:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                
[09/06/2026 12:35:06] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 12:35:06 - INPUT: {"rutTecnico":"21773342"}[09/06/2026 12:35:06] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 12:35:06 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 08/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => AM-C400
            [FechaLlamado] => 05/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [RutCliente] => 69253200
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 04/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [RutCliente] => 76257428
            [ModeloMaquina] => WF-C878R
            [FechaLlamado] => 03/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => ESTUDIO 330AC
            [FechaLlamado] => 03/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 03/06/2026
        )

)

09/06/2026 12:35:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                
[09/06/2026 12:35:14] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 12:35:14 - INPUT: {"rutTecnico":"21773342"}[09/06/2026 12:35:14] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 12:35:14 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 08/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => AM-C400
            [FechaLlamado] => 05/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [RutCliente] => 69253200
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 04/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [RutCliente] => 76257428
            [ModeloMaquina] => WF-C878R
            [FechaLlamado] => 03/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => ESTUDIO 330AC
            [FechaLlamado] => 03/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 03/06/2026
        )

)

09/06/2026 12:35:14 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 12:35:14] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:35:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:35:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 12:35:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 12:35:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:35:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:35:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:35:15 - INPUT: {"rutTecnico":"21773342"}[09/06/2026 12:35:15] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				

[09/06/2026 12:35:15] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:35:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:35:15 - INPUT: {"rutTecnico":"21773342"}[09/06/2026 12:35:15] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 12:35:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 12:35:15 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 08/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => AM-C400
            [FechaLlamado] => 05/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [RutCliente] => 69253200
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 04/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [RutCliente] => 76257428
            [ModeloMaquina] => WF-C878R
            [FechaLlamado] => 03/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => ESTUDIO 330AC
            [FechaLlamado] => 03/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 03/06/2026
        )

)

09/06/2026 12:35:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 12:35:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:35:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:35:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:35:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:35:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            
[09/06/2026 12:35:34] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 12:35:34 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 12:35:34] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:35:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:35:34 - INPUT: {"rutTecnico":"21773342"}[09/06/2026 12:35:34] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 12:35:34 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 08/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => AM-C400
            [FechaLlamado] => 05/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [RutCliente] => 69253200
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 04/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [RutCliente] => 76257428
            [ModeloMaquina] => WF-C878R
            [FechaLlamado] => 03/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => ESTUDIO 330AC
            [FechaLlamado] => 03/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 03/06/2026
        )

)

09/06/2026 12:35:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 12:35:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                
[09/06/2026 12:35:34] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 12:35:34 - INPUT: {"rutTecnico":"21773342"}[09/06/2026 12:35:34] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 12:35:34 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 08/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => AM-C400
            [FechaLlamado] => 05/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [RutCliente] => 69253200
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 04/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [RutCliente] => 76257428
            [ModeloMaquina] => WF-C878R
            [FechaLlamado] => 03/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => ESTUDIO 330AC
            [FechaLlamado] => 03/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 03/06/2026
        )

)

09/06/2026 12:35:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:35:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:35:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:37:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:37:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:37:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:37:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:37:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:37:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:37:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:37:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:38:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:38:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:38:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:38:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:38:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:38:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:38:05 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:38:05 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:38:05] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:38:05 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:38:05] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:38:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

[09/06/2026 12:38:05] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:38:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:38:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:38:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:38:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:38:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:38:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:05 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:38:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:38:05 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:38:05] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 12:38:05] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:38:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:38:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:38:05 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:38:05] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:38:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:38:05 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:38:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

[09/06/2026 12:38:05] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:38:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:38:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:38:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:38:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:05 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:38:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

[09/06/2026 12:38:05] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:38:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:38:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:38:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:38:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:38:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:38:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:38:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:38:06 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:38:06] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:38:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:38:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:38:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:38:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:38:06 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:38:06] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:38:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:38:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:06 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:38:06] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:38:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:38:06 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:38:06] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:38:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:38:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                
[09/06/2026 12:43:06] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '9291721'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 12:43:06 - INPUT: {"rutTecnico":"9291721"}[09/06/2026 12:43:06] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 9291721 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '9291721'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 12:43:06 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 05/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 05/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 05/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 05/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => ESTUDIO 2520AC
            [FechaLlamado] => 05/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 05/06/2026
        )

)

09/06/2026 12:43:14 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:43:14] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:43:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:43:20 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:43:20] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:43:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:43:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12951
            GROUP BY l.idllamado;
            

09/06/2026 12:43:45 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 12:43:45] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:43:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:43:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 12:43:49 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 12:43:49] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:43:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:43:49 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 12:43:49] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:43:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:43:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:43:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 12:43:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 12:43:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:43:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:43:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:43:57 - INPUT: {"rutTecnico":"21773342"}
09/06/2026 12:43:57 - INPUT: {"rutTecnico":"21773342"}
09/06/2026 12:43:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

[09/06/2026 12:43:57] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 12:43:57] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:43:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:43:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:43:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 12:43:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 12:43:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 12:43:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:43:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:43:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:43:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 12:43:58 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 12:43:58] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:43:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:43:58 - INPUT: {"rutTecnico":"21773342"}
09/06/2026 12:43:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:43:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

[09/06/2026 12:43:58] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:43:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:43:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:43:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:43:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:44:00 - INPUT: {"rutTecnico":"21773342"}
09/06/2026 12:44:00 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 12:44:00] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:44:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 12:44:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12947
            GROUP BY l.idllamado;
            

[09/06/2026 12:44:00] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:44:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:44:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:44:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12947
            GROUP BY l.idllamado;
            

09/06/2026 12:44:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12947
            GROUP BY l.idllamado;
            

09/06/2026 12:44:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 12:44:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 12:44:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 12:44:03 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 12:44:03] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:44:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:44:03 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 12:44:03] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:44:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 12:44:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:44:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12947
            GROUP BY l.idllamado;
            

09/06/2026 12:44:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12947
            GROUP BY l.idllamado;
            

09/06/2026 12:44:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 12:44:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 12:44:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 12:44:06 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:44:06] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:44:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:44:06 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:44:06] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:44:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:44:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:44:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 12:44:12 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 12:44:12] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:44:12 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 12:44:12] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:44:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 12:44:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:44:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:44:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 12:44:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:44:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:44:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:44:21 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 12:44:21] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:44:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 12:44:21 - INPUT: {"rutTecnico":"21773342"}
09/06/2026 12:44:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[09/06/2026 12:44:21] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:44:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:44:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 12:44:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:44:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:44:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:44:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:44:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12947
            GROUP BY l.idllamado;
            

09/06/2026 12:44:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12947
            GROUP BY l.idllamado;
            

09/06/2026 12:44:22 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 12:44:22] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:44:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:44:22 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 12:44:22] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:44:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12947
            GROUP BY l.idllamado;
            

09/06/2026 12:44:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:44:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 12:44:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 12:44:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 12:44:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 12:44:28 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 12:44:28] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:44:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:44:28 - INPUT: {"rutTecnico":"21773342"}
09/06/2026 12:44:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 12:44:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12947
            GROUP BY l.idllamado;
            

[09/06/2026 12:44:28] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:44:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12947
            GROUP BY l.idllamado;
            

09/06/2026 12:44:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:44:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 12:44:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 12:44:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 12:44:30 - INPUT: {"rutTecnico":"21773342"}[09/06/2026 12:44:30] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				
[09/06/2026 12:44:30] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 12:44:30 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 08/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => AM-C400
            [FechaLlamado] => 05/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [RutCliente] => 69253200
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 04/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [RutCliente] => 76257428
            [ModeloMaquina] => WF-C878R
            [FechaLlamado] => 03/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => ESTUDIO 330AC
            [FechaLlamado] => 03/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 03/06/2026
        )

)

09/06/2026 12:44:37 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 12:44:37] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:44:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:44:42 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:44:42] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:44:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12951
            GROUP BY l.idllamado;
            

09/06/2026 12:44:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:44:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12951
            GROUP BY l.idllamado;
            

09/06/2026 12:44:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:44:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                
[09/06/2026 12:44:57] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 12:44:57 - INPUT: {"rutTecnico":"24456550"}[09/06/2026 12:44:57] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 12:44:57 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76464003
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 08/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TPORT LOGISTICS SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76917086
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 08/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 08/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76423913
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 08/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 08/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 04/06/2026
        )

)

09/06/2026 12:45:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12951
            GROUP BY l.idllamado;
            

09/06/2026 12:45:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12951
            GROUP BY l.idllamado;
            

09/06/2026 12:45:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12951
            GROUP BY l.idllamado;
            

09/06/2026 12:45:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:05 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 12:45:05] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:45:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:45:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12951
            GROUP BY l.idllamado;
            

09/06/2026 12:45:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12951
            GROUP BY l.idllamado;
            

09/06/2026 12:45:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12951
            GROUP BY l.idllamado;
            

09/06/2026 12:45:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:15 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 12:45:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

[09/06/2026 12:45:15] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:45:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:45:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12951
            GROUP BY l.idllamado;
            

09/06/2026 12:45:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12951
            GROUP BY l.idllamado;
            

09/06/2026 12:45:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12951
            GROUP BY l.idllamado;
            

09/06/2026 12:45:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 12:45:18 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 12:45:18] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:45:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 12:45:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:45:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 12:45:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 12:45:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 12:45:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 12:45:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 12:45:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 12:45:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 12:45:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 12:45:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 12:45:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 12:45:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 12:45:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 12:45:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 12:45:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 12:45:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 12:45:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 12:45:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 12:45:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 12:45:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 12:45:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 12:45:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 12:45:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 12:45:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 12:45:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 12:45:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 12:45:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 12:45:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12951
            GROUP BY l.idllamado;
            

09/06/2026 12:45:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                
=========================================
FECHA: 09/06/2026 12:45:33
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-dxwS7cSKiwaU5GhE4dGAWegtpqyXrsOFXq_T3rFHZ8KHb0XH83I
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69020400",
    "serieinterna": "EP3128",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "9291721",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "insumo",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12951",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADSARQDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABDEAABAwMCAgcGAgYJBAMAAAABAAIDBAURBiESMRNBUWFxkbEiMoGhwdEUFRYjQlLh8CQzNFNUcpOi0iZVo\/E1Y5L\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAyEQACAQIDBAkEAgMBAAAAAAAAAQIDERIhMQQTQVEiMmFxgZGhsfAjwdHhFFIzQmKS\/9oADAMBAAIRAxEAPwD9mREQBERAEREAREQBERAEREAREQBERAEREARFzmmip4zJPKyJg5ue4AD4lBodF5c5rGlz3BrRzJOAFnqvV0T5DTWimkr584Ba0hg7+0\/zuozdPXe9SCW+1hjiByKaEjb6D5qzB\/bIzPaE3aksT9PMm1+rqGB4goWur6lxw1kO4z49fwypNimvNQ2aa6wxwteQYY27Fo68\/LnuplBbKO2xdHR07Ih1kDd3ieZUpcbjayRKEKjlinLwWn7CIigXhV99qJqSyVU9O\/glYzLXYzhWCzmtZ3flcVDE0ulrJQ1rQeeDn14VKCvJFNeWClJ9haWOolqrLSTzEukfEC4kg5Pap640tOykpIaZnuxMDB8Bhdlx6lkE1FJ6hERcJBERAEREAREQBERAEREAREQBERAEREAREQBERAF8JAGScAKru+oaKzt4ZXGWcj2YWbuPZnsCpxb71qY9LcJXW+iPu07fecO8ffyU1DK7yRnnXSeGCu+X5JVw1dC2b8HaYTXVR2aWbsB8Rz+HmuEOl6y5zCqv9Y6Q5yKeN3st7s9Xw81f0Fso7ZCIqSBsYxu7HtO8T1qWu40uqR3DnnWd+zh+zhSUdNQwiGlgZCwdTRjPj2ruiKs0pJKyCIiHQiIgCysL\/wA91oZmt4qW2tLWu6i\/\/wB5\/wDypuqbm+lohQ0rXPq6wcEYbzAJAJ+eB\/BS7FamWi1x04aOlI4pXY3c4\/bkrF0Y35mWf1aigtFm\/svuWSIirNQRfC4NGXEAdpUY3KgBwa6nBH\/2t+6WOOSWrJSKIy626R\/AyvpXO\/dEzSfVS0tYKSejCIiHQiIgCIiAIiIAiIgCIiAIiIAiKkvGpqW2v\/DQNNVWE4EMe+D3\/bmupNuyITqRprFJltU1MFHA6eolbFGwZLnHAWZmvtyv07qSwxmOEHElW8Yx4dnr4L1S6frrxO2t1DMS0HLKVpw0ePZ6960sMMVPE2GGNscbRhrWjACn0Y9rM\/1K3\/MfV\/gqbRpmktrhUSk1VYTkzyb4PcOrx5q6RFBtvNmiFONNWirBERcJhERAEREAUW418NsoZauc+zGNhndx6gF2mmjp4XzTPDI2DLnOOwCw1ddqW83RtVXS9HbKU\/q4cZdOfDv7eQGynCOJmbaK6pqy1fy5bact8tfVyaguLQ6SY5p2Hfo29v28+taCrrKahhM1VOyFg63HGfDtWbbc7\/eg0WmkFBSbBs8oG47gR6A+KkUujaXpXT3OoluEzuZeS0euT5qUkr3kymlKSjhpRv2vJd\/NnmfWMc0pgtFFPWyY94MPCO\/HP0Xjo9YV+S6WnoGH9kYJ+vqFo4KaCljEdPCyJg\/ZY0ALquYktEW7mcuvN+GX7Mx+hn4kh1zu1VVEHOM4A889ylfoZY\/8M\/8A1XfdXqLm8lzJLZaK\/wBfPP3KJ+jbG+PhbSvYf3myuz8yQquvsVVp2jdX2q4VBEJy6F5yOHrOORxnPJbFcK5wZQVDzybE48s9RXVOV8yNTZqVm0rPmsjxbK+O5W6Gsj5SNyR+6eseaKq0UHfo7GXEnMjsZOds4RRkrSaLaMnOnGT4ov0RFEtCIiAIiIAiIgCIiALjVVdPRQOnqZWxRt5ucVVXjU1LbX\/hoGmqrCcCGPfB7\/tzUKl07WXadtdqGUux7lKw4a3xx9PPqU1HK8jNOtd4Kau\/Rd5ykul21LM6ntDTSUIPC+qfsXduPsN+WSMq5tGn6G0NDomdJUEe1O\/dx7cdiso42RRtjjY1jGjDWtGAB3Bekc+C0OwoJPHN3l7dwREUDQEREAREQBEXGpqoKOB09TMyKNvNzjhDjaSuzsq+53ugtEZdVTDjxkRN3e74fdUdXqWtuYkjscXRwxj9bWTYa1o+PL17lRUVkffbo5sM8k0TDmorHj3j3A\/LPjtyV0afGRgq7W+rRV2\/nj7FjPWXLWjvwlJCKWjjdxSPe4nPZkgfJXdq0jbbbwySM\/FTj9uUbA9zeXnlWtFRU9vpWU1NGGRsGw7e896kKMp8I5Itp7Mr46mcvmgREVZrCIiAIiIAqfVVaKLT9SduKZvQtB6+LY\/LJ+CuFltRH811DbrO1pLGO6abbbHx7gfNTgryM+0ycabS1eS8S30\/SuorDRwOGHCPiIznBceL6orJFFu7uXQioxUVwCIi4SCIiAIiIAiKLX3GltlMairlEbOQ7XHsA60SucbUVdkh72RsL5HBjWjJc44AWWq71XX+pdbrG1zIOUtWQRgd3Z6lc2x3LV8rXzh9FamkEMHvS7\/P0HetRR0dPQUzaaljEcbOQHqe1WZQ11Ml51+rlH1f4RBs+nqKzt4o29LUH3p3j2j4ditURQbbd2aoQjBYYqyCIi4SCIiAIiIAi8veyNhfI4Ma0ZLnHACy9Xfa291Jt1ha5rQcSVZ2AHd2eqlGLZVUqxp66vRE686lioJBSUcf4uueeERM34T349PRVclneWG66qrSWs3bTNdsD2beg8166S16RiEUDfxt1lHCcbuJPb2DPVzPzVZXGb8XHUX5r6urcMwUEWzW\/wCbHLwG561dFcjzqtS\/XzfLgu\/m+wkgOvzOOYNtdhpzs3ZvSH6n+dypLL5I9v5bpW3ZjZt0xbho79\/V3kulLpysu72VN+k4I2Y6Kji9lrB2bcuzt71p4YIaaIRQRMijbyawYAXJSisiylRqSz0vx4\/pEC0U12g43XOsjn4gOFjG+6fH4fMqzRFS3c9CEVFWQREXCQREQBERAeXvbGxz3nDWgknsCzGk2OuFdX3yVpzM\/o4sjk3\/ANcI+CkaruEghjs9Jg1VcQzGd2sJxnwO48Mq3ttEy3W6CkZyibjPaeZ+as6se8yv6lZLhH3JSIirNQRFnaqxXp1XNNS36RjJHucI3A4YCc4G55KSSerK6k5RWUbmiRZj8v1fCMR3ankaOXE0ZPmz6p\/1nF\/g5seAz6LuDtRV\/IfGD8v2adFmPzDWEfv2ileOWWuG\/wDvUSfV13gmFJLamNqZBhjA4k5PI4+i7u29Dj2uEesmvBl\/er7SWWnD5jxyu9yJp3d9h3qpt1kqb1Ui634E53hpeTWjqyPp5qnoZ6+luT7jdLJW1lST7D3NcGsPcOHHh2K6\/TWNu8lqrGDt4VPC4q0TNvqdWWKq7LgrP1NM1oa0NaAABgAdS+Oc1jC97g1rRkknAAWbbry0uODDVt7yxv8AyVTqDVMF1bDRUsksNK8g1EhbuR2AZ8fHZQVKTeaL57ZRjG8XcuIL3XXq8CG1jgoID+unIGX+GQfgMeS0izdDqXTdBTMpaecxRMH907fvO25Ur9L7D\/j\/APwv\/wCKSi3ohSrQSvOom32+xdIqX9L7D\/j\/APwv\/wCK8u1jYm4xWF3hE\/6hRwS5F38ij\/deaLxc3zRRvax8rGuecNa5wBd4KjdraytziSV2OyM7+aoKrUEVw1LFWso56mCnYGxRDmXbnJG+N+zsCkqcnqimptlKKWFpm\/Uetrqe3UrqmqkEcbe3mT2DtKytfq68QQCb8pbSRu2aZySSe4bZ8lEpaSr1ZKya53KKJgJEcDSOIjrw3q8Tkrqp8ZaEZbYm8NNXl5e54rL3+fzgVtT+Ft4d7NPF7Ukp7MDr8cDsyplJFd7pTMp7VTi0W3Gzyfbk788zn+Sr236YtVuLXx0\/SSN5SSniP2+St111FpFEaey1H0qss3y\/PLsRn4rZbNKW6Wuc3pp2DeV\/vOJ6h2c+peNK21\/BJeazDqqtPGMj3Gknl47fDCjV5dqHVUdtG9FQnjm22c4dXzA81q2tDWhrQAAMADqXJNpZ6snShGU7xXRjku\/iz6iIqjaEREAREQBERAFzmmjp4XzTPDI2DLnOOwC6LLX+ea9XWKwUbj0YIfVuGNm5Hp6kKUY3ZVWqbuN1rw7z5puCS63ep1DUtw1xLKZp6hy+Q2+JWqXKmp46SmipoW8McTQ1o7guqSldnKNPdws9ePeERFEuCIiAIizt9vszagWm0jpa6XZzm8ov4+i7GLk7IrqVI043Z6v2oX0szbbbGdPcJCBgDIj8e\/05ldrDp9ts4qqqf+Irpt5JTvw55gfde7Hp+C0MMr3dNWSD9bM7ffmQP53VupuSStEpp05SlvKmvBcv2ERFWaij1VdDbbYGQgOqah3BEMZI7Tj5fELpY9P01rt7I5IWSTvAdK5zQ72sch3BVtuAv2q6qtmPFDbiI4GjIGcnDvkfMLVKyXRWEyUkqs3Vemi+7IhtVucMOoKUjsMLfsvP5Lav+2Uf+g37KaihdmjBDkQvyW1f9so\/9Bv2Xptptrfdt9KPCFv2UtEuxu4ciJLT0VJTvm\/CwNbE0vOGNGMbrJ2W6Q2SxVFymaJKisnPRxt24sfMDPEr3VtY2k0\/UN4wHzDo2DOCcnf5ZWIoLfNWUL6qaoNPFTM\/USyHDA7izw+p261fTjeN2edtVRwqpQWaT+eRciw3XUkouN1nbSQkZYzGS1vcOrxKi2uxQ3W7l9vzHQUkgBme7LpSDnbq38Ntlyq9SXC608FNWyfhaV+0ssUZzJj+eQWxstfZXwso7XPGQ0EhgBaT2nBAXZOUUVUoUa01n331b\/BbLlUzNpqWWd3uxMLzv1AZXVVmoyW6eriP7ohZ0rux605YYN8iv0XTu\/LJa+U8UtbK57ndoBI9eJaNVemmhmnaID+7zz7TlWi7N3kyGzxw0orsCKLUXKhpSRUVkERHMPkAPkqep1rbWP6KkZNWSHZojZgE9m+\/yRRk9EdnWpw60jRLxJLHCwvlkaxo5uccBY25agv4gEr4orXE73ePeR3gDv8AIeKh2uxXTUbm1Vwqpm02chzySXf5QfVTVPK7Zmltl5YKcW35G+iljmibLE8PY8Za5pyCF7XCjpIaCkjpadpbFGMNBOV3VTNqvbPUIii3GvhtlDLVznDYxkDrceoDxRK4bUVdkLUN6ZaKI9GQ6rl9mGPmSe3Hd81401aHW6jdPUb1lUeklJAy3P7Kg2Cgnuld+kVxADnj+jxY2Y3kD9vHK1Csl0VhRmpJ1Zb2WnD8+IREVZqCIiAIizuob++B4tdsBluE3s+xv0efr6c1KMXJ2RXUqRpxxSPt7vcxqBaLQOkrpNnPHKIff0U2yWSGzU5APSVEm8sx5uP2XmxWKGzU5JPS1Uu8sx5nuHd6q2XZNWtEqp05OW8qa8Fy\/YREUDSF5e7gY52M8IJwvS8uaHsLTyIwgM3oVg\/KaicuLny1ByT3AfcrTLL6OnZSCrs8pDaiGdxaD+2ORI7dwtQp1OszNsltzFBERQNJW3uquVHRiW20gqXh3ttO5A7hzPZsqqHXVB0TRVU9RFMB7bQwEZ68b5V7X3OjtsXSVlQyIdQJ3d4DmV+c3u5Vl6caswmKjjcWxjGGgnv63HmVfTipao87a60qTvCWfL5ocLtdpbxcTU1GRGDhkbT7jM8h396lwXKkrZ43XZ8jaOmw2Gkgb7PxPqeZ7lZ6FtcNQ6oraiFkgYQyPjbkA8yezs81s20tMw5bTxNPcwBTnUjF4UjLs+y1Ksd45amaOsrCynbTto5nQgYEYhbwgeBK4U+pbBT1BqaKzTMeRw8bImtx8AcLYNYxmeFobnsGF6VOKPL1PQ3NV5uS\/wDP7Mx+l9VJg01gq5Wn3TuMj4NKj19zv9xoJ6f8iMUb4yHF5OQMdXJa9ExJaI66FSStKb8kYewt1HX2qNtDWwU9NGSwcQy7bfsParAaSran\/wCQvtTM39xpOPmfouNLI3SV7lpJw4W+tcHRSnlGez54PgCr66XqitEHSVMo4nDLI27uf4fdTlKV+jxM1KnTwfVecdbtkCDRlkpxl8L5sdcsh+mAolTe6WknNv03QRTVTtnOijAaO\/I5+i5iG8arPFUE2+2E7Rt96Qd\/b6dy0VutdHaoBDSQhgx7Tubnd5PWuN26zuyyEMf+KOFc7Z+H5Ki26WJqPx96m\/GVZwQ1xyxvd3+i0QAAwBgBfUVcpOWprp0o01aIRFW3e+0VmiDqh+ZHDLIm7ud9h3riTbsiUpRgsUnZEqtrae30r6mpkDI2Dc9vcO9ZyjpKrVNa243BrorfEc09Pn3+8r7S2yv1FUR115b0dK08UNKDzHVkfXr7lqWtDWhrQAAMADqU+ppqZknXd5ZR5c+\/sDWhrQ1oAAGAB1L6iKs1hERAEREBnqq917LzVWlsUMUr4uKie8+8e88u3G3MYXfT2n2WmIzTkS1su8kpOcdwPr2rnqu1vrKAVdN7NVRnpGObzIG5A9R4KdZbmy7W2OoBAkA4ZW\/uvHMK1vo5GOMfrNTzazXzmvYsERFUbAiIgCIiAp71p2C7ObOyR1NVx+7Mzn8VXCo1fbWhstNBcI2jHEw+18sH5LUopqbtZ5meVCLlii2n2GYN+1DKS2DT7mEHH6xxx9F4NPq66ezNNDbYiBkRnc+RJ+YWqWe1Pd5IWstNCA+srPYwD7jTtnuJz6lSi7uyRVVp4IuVSbfpfyM3FYI7jqB1FT1D6hkJ4qmqcc8XLYd\/Vz7exe9YV0Ek0Vto2htPReyeFuwfy4fgAfjlXlVGzSWlXMhcPxEnsdKG7l5zv8By8FTU1oDr1Q2os43sAqa15O5PPB6wACB4uKtUrvE+BgqUnGO7is5Wv46L8ms05RfgLFSwkYeWcb987u3+uFZoizN3dz2oRUIqK4BERcJBfHODWlziAAMknqXKrq4KGmfU1MgjiYMklZYuuesJCGONHaQ7BP7UuDv4+g71KMb58CmrWUOileT4Hy\/XRl\/zabVR\/jXAgunPux94P1O3jlV8NC3TN1jfeqX8XCWDo5mZc2MjuPPHf8FtqC3UtsphT0kQjZzPa49pPWu8sUc0bo5Y2yMcMOa4ZB+CmqiWS0M0tllN7yT6XocqKvpLhD01JOyZnXwnceI5j4qQs\/VaOoZJDLRSzUMh64nbY8PmuDbTqmkdimvMc7N\/64ZPXjmD6rmGL0ZdvasevC\/cadR6uvpKCPpKqojhb1cbsE+A61QC0apqB\/SL4yMHc9E3ceQC60mjaRk5qLjUS3CU9cpIHx3JPmmGK1Zze1ZdWFu85P1RU3OR1LYqOSR3L8RIMNZ34+\/kpFo0yyml\/HXKT8ZXO3Ln7tZ4Z9fLCu4YYqeMRwRMiYOTWNAA+AXRccuEcjsaDbxVHd+i8AiIoGkIvLJGSt4o3teASMtOd16QBERAEREAWRq2SaSvIrYATbat2JmAf1Z7vmR8QtcuFZRwV9JJS1LOOOQYI+oUoys89CmtTxq8dVodWPbJG2Rjg5rgC0jrC9LJ0VZUaXr22y4vL6CQ\/wBHqHfs9x\/nbnyWrBBGQcgpKNjtKqqi5Nao+oiKJaEREAREQEG73OO022Wrk3LRhjf3ndQVXpi1y5kvNfk1lXkgObjgb\/Hb4YUSoxqnUop2nNBbjmTbaR2eXxx5ArWqx9GNuLMkPrVMb0WnfxZktYztNyttPIP1UZdPJnrA6vIHzUjR9JM+GovFUSZq55I\/yg\/U\/IBcNSO\/O7xS2Omc0hh6SoeCMtHZ8BvjvHYtTFEyGJkUbQ1jGhrWjqA5BSk7QSK6dPHtEp8F72+33PaIipN4RF8cCWkA4ONj2IDJzxy6svclOX8NsoH4eGn+tdvy9O4eK1UUUcMTYomBjGDDWtGAAs3od7BbqiB7Wx1LZyXswGuxgYJHUM5C06sqZPDyMuypOG8er+W8AiIqzUEREARRa25Uduj46ypZCDy4jufAcyszXa7aXPittMHkDaWZ3CPLr81OMJS0KKu0U6XWZryQBknACp6\/VVooAQaoTyAbMh9rPx5DzWLluFxvD+jlqKutzjMNO3hbjy9R8VZ0Gk7tIWOd0NtY3mWHilPxB+o8FZu4x6zMb2ypUyox+e3qfbjrusyY6SjFPkbOm9p2OogbAfNQ4KbUepX5klmFO7m954I8dwHNay26Wtltf0rYzPNnPSTEOIPcOSuUdSMeqjq2WrUzrT8EV1ktEdlt4pmSOkJPE9xPN3XgdQViiKltt3Z6EYqEVGOgREXCQREQBERAQ7nbKa7UbqapZlp3a4c2HtCztLXVmkp20N0c6egd\/UVDRnh7sfTq6lrlyqaaCsgdBURNljeMFrhkKcZWyehRUo4njg7S+anqKWOeJssL2yRvGWuacghe1kpKK6aVl6e3F9bbySX0xzlnr5+YV9arxR3enbLTyDjxl8RPtM8R9UcbZrQU62J4JK0vmhPREUC8Kk1Rd3W23iKmfisqCGRAcwOs\/TxKunODWlziAAMknqWUsgdf9R1F5kBNNTHo6YHlnt8t\/FwU4JavgZq8nZU46y+NlzYLU20WuODA6Vw4pXDrcerPdyXy\/wB4ZZ7e6QbzyZZC0DOXY5+AXS7Xmks9OZJ3cUhBLImn2n\/w71T2a01V0rRe7xnjO9PByDB1HH0+JXUr9KRGcsKVGlr7LmTdNWh9vpX1NVl1bVnjmLuY68fPfvV2iKDbbuzRTgqcVFBERcJhERAUFz010tUa+1TihrMHJaMNf445Z7cFRY79e7Y0x3e1Pmxs2aHHteONvTwWpRTU8rPMzuhZ4qbwv08jORa5tD9pG1EJBwQ+PPoSujtaWRoyJ5HdwiKu5IIZiDLEx5HLiaCqLUtjdVWwsttLC2TPtNZG1pcOfPbsXVgbK5\/yIRbTT8P2canXVvbGRSQzVEp91pbwjz\/gquav1fd8tgppqZh6o2dH\/udv5FSKC51FkYI\/0WkiGMOljBJI7zg581MOsJicR2OscRz2Ix8lZa3VRlc94vqVGuxJoqabQ1xqZDLXVUcRccu3Mjz49XzV5Q6LtNJh0zX1TxjeQ4bnwH1yuP6S3qoOKXT0wzydLkDPkPVfDLrKqHsw0tHk5BPCcDzd6I3N6uxKENmjnGDl4P75Gkgp4aaMRwRMiYBgNY3AXmorKakbxVNRFCO2R4b6rPGwX+rH9Nvzmb8oAQPlwrpBoi1RnindPUu6+N+AfLB+artHizVvKryhC3e\/xc61esbRTezHK+pfnHDE3PzOymWe5VNyZLJPb5KNjSOj6Q7vG\/Vjbl813o7XQUH9lpIojjHE1vtefNS1xuNskThGre85eCQREUC8IiIAiIgCIiAIiIAqC56UpqqcVdDKaGqach0Y9kntI7e8K\/RdUmtCupThUVpIyrb9eLNGIrxbnztaP7RDvtjr6ifLkp9Nq6y1EZearoSObZWkH+PwV2oNTabZPmSooqc49ouLAPMqd4vVFO7rQ6srrt\/Jn9TaoopbS+mt9SJZJzwPLQRws6+Y6+XxK4Wy71gtcNusFsleWjDqmQezxdZ7PM\/BfdP22lul+rLiKWJtFA4xwxho4XHGM45HbfxcFswABgDACnJxisKRnpQq1m6rlbhly8dCgtOl2084r7nKaytO+XHLWHu7VoERUuTepup0401aKCIi4WBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAVHqy5PoLO6OHJnqj0TMDcZ5ny2+KvFlfbvmtTn+y2rlyI4\/vkf7VOCzu+Bn2iTUMMdZZfPAu7Jb\/yy0U9KQA9rcvx+8dyp6Iot3dy6MVGKiuAREXCQREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAXNkMUTnvjiYx0hy8taAXHtPaiLq0ZCXWR0REXCYREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQH\/\/2Q==",
    "razonSocial": "ILUSTRE MUNICIPALIDAD DE MEJILLONES",
    "nombreTecnico": "DANIEL FUENTELZAR",
    "nombreContacto": "LUIS OSORIO BERRIOS",
    "correoContacto": "losorio@mejillones.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56552557314",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I1240\",\"id_control\":\"28967\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1241\",\"id_control\":\"28967\",\"cantidad_usada\":3,\"cantidad_asignada\":3},{\"id_inventario\":\"EPS-I1242\",\"id_control\":\"28967\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1243\",\"id_control\":\"28967\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "12:46",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "12:39",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 12:45:33 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:69020400

[09/06/2026 12:45:33] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('69020400', 'EP3128', 1, 9291721, 0, NOW(), 
				'08:00', '12:39', '12:46', 10, 'insumo', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781023533.png', '', null, 'COMPLETADO','LatLng(lat: 0.0, lng: 0.0)' )
				
[09/06/2026 12:45:33] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200637
[09/06/2026 12:45:33] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200637', 'EPS-I1240', 1)
				
[09/06/2026 12:45:33] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28967 and
				    IDproducto = 'EPS-I1240'
				

09/06/2026 12:45:33 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1240';
                [09/06/2026 12:45:33] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200637', 'EPS-I1241', 3)
				
[09/06/2026 12:45:33] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 3
				WHERE
				    IDcontrol = 28967 and
				    IDproducto = 'EPS-I1241'
				

09/06/2026 12:45:33 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 3)
                WHERE ID = 'EPS-I1241';
                [09/06/2026 12:45:33] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200637', 'EPS-I1242', 1)
				
[09/06/2026 12:45:33] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28967 and
				    IDproducto = 'EPS-I1242'
				

09/06/2026 12:45:33 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1242';
                [09/06/2026 12:45:33] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200637', 'EPS-I1243', 1)
				
[09/06/2026 12:45:33] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28967 and
				    IDproducto = 'EPS-I1243'
				

09/06/2026 12:45:33 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1243';
                
09/06/2026 12:45:33 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200637'                    
				WHERE idllamado = 12951			
				TO ENVIO: micorreo@miempresa.cl, losorio@mejillones.cl


09/06/2026 12:45:33 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12951			
				
09/06/2026 12:45:33 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


09/06/2026 12:45:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12951
            GROUP BY l.idllamado;
            

09/06/2026 12:45:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:36 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:45:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12951
            GROUP BY l.idllamado;
            

[09/06/2026 12:45:36] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:45:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12951
            GROUP BY l.idllamado;
            

09/06/2026 12:45:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:45:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:36 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:45:36] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:45:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:45:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:52 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:45:52] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:45:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:45:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12951
            GROUP BY l.idllamado;
            

09/06/2026 12:45:52 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:45:52] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:45:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12951
            GROUP BY l.idllamado;
            

09/06/2026 12:45:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:45:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:54 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:45:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12951
            GROUP BY l.idllamado;
            

[09/06/2026 12:45:54] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:45:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:45:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12951
            GROUP BY l.idllamado;
            

09/06/2026 12:45:54 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:45:54] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:45:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:45:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:46:02 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 12:46:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

[09/06/2026 12:46:02] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:46:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:46:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 12:46:02 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 12:46:02] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:46:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 12:46:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:46:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 12:46:23 - INPUT: {"rutTecnico":"95585912"}[09/06/2026 12:46:23] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 95585912 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '95585912'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 12:46:23 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => ESTUDIO 4525AC
            [FechaLlamado] => 29/05/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => BROTHER 7240
            [FechaLlamado] => 29/05/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => MFC-8910
            [FechaLlamado] => 29/05/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 29/05/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => ESTUDIO 4525AC
            [FechaLlamado] => 27/05/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 26/05/2026
        )

)
[09/06/2026 12:46:23] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '95585912'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 12:46:58 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 12:46:58] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:46:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:46:58 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 12:46:58] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:46:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:46:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 12:46:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 12:46:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 12:46:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 12:46:59 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 12:46:59] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:46:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:46:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 12:46:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 12:46:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 12:46:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 12:47:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 12:47:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 12:47:01 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 12:47:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

[09/06/2026 12:47:01] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:47:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:47:03 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 12:47:03] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:47:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:47:07 - INPUT: {"rutTecnico":"95585912"}
[09/06/2026 12:47:07] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:47:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12669
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 16:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2570
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12713
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 15:35
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2136
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 15:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2552
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12635
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => NO ENCIENDE Y PROBLEMAS DE CONECTIVAD
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/05/2026
            [HoraLlamado] => 12:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91947000
            [ClienteRazonSocial] => SIKA CHILE S.A
            [ciudad] => SANTIAGO
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => EXTO2207
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12853
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => RESIDUAL
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 12:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 6508A
            [SerieInternaMaquina] => TO2005
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12863
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 15:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270424
            [ClienteRazonSocial] => ENERGIA EOLICA CJR WIND CHILE LTDA.
            [ciudad] => PROVIDENCIA, SANTIAGO
            [ModeloMaquina] => ESTUDIO 2520AC
            [SerieInternaMaquina] => TO2956
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12941
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 12:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 94913830
            [ClienteRazonSocial] => DSPRINT CENTRO COPIADO 
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => AM-C4000
            [SerieInternaMaquina] => EP2816
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:47:11 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 12:47:11] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:47:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:47:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12669
            GROUP BY l.idllamado;
            

09/06/2026 12:47:17 - INPUT: {"rutTecnico":"95585912"}
[09/06/2026 12:47:17] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:47:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12669
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 16:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2570
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12713
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 15:35
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2136
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 15:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2552
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12635
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => NO ENCIENDE Y PROBLEMAS DE CONECTIVAD
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/05/2026
            [HoraLlamado] => 12:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91947000
            [ClienteRazonSocial] => SIKA CHILE S.A
            [ciudad] => SANTIAGO
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => EXTO2207
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12853
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => RESIDUAL
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 12:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 6508A
            [SerieInternaMaquina] => TO2005
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12863
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 15:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270424
            [ClienteRazonSocial] => ENERGIA EOLICA CJR WIND CHILE LTDA.
            [ciudad] => PROVIDENCIA, SANTIAGO
            [ModeloMaquina] => ESTUDIO 2520AC
            [SerieInternaMaquina] => TO2956
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12941
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 12:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 94913830
            [ClienteRazonSocial] => DSPRINT CENTRO COPIADO 
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => AM-C4000
            [SerieInternaMaquina] => EP2816
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:47:20 - INPUT: {"rutTecnico":"95585912"}
[09/06/2026 12:47:20] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:47:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12669
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 16:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2570
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12713
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 15:35
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2136
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 15:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2552
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12635
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => NO ENCIENDE Y PROBLEMAS DE CONECTIVAD
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/05/2026
            [HoraLlamado] => 12:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91947000
            [ClienteRazonSocial] => SIKA CHILE S.A
            [ciudad] => SANTIAGO
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => EXTO2207
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12853
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => RESIDUAL
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 12:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 6508A
            [SerieInternaMaquina] => TO2005
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12863
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 15:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270424
            [ClienteRazonSocial] => ENERGIA EOLICA CJR WIND CHILE LTDA.
            [ciudad] => PROVIDENCIA, SANTIAGO
            [ModeloMaquina] => ESTUDIO 2520AC
            [SerieInternaMaquina] => TO2956
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12941
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 12:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 94913830
            [ClienteRazonSocial] => DSPRINT CENTRO COPIADO 
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => AM-C4000
            [SerieInternaMaquina] => EP2816
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:47:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12853
            GROUP BY l.idllamado;
            

09/06/2026 12:47:21 - INPUT: {"rutTecnico":"95585912"}
[09/06/2026 12:47:21] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:47:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12669
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 16:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2570
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12713
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 15:35
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2136
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 15:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2552
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12635
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => NO ENCIENDE Y PROBLEMAS DE CONECTIVAD
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/05/2026
            [HoraLlamado] => 12:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91947000
            [ClienteRazonSocial] => SIKA CHILE S.A
            [ciudad] => SANTIAGO
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => EXTO2207
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12853
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => RESIDUAL
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 12:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 6508A
            [SerieInternaMaquina] => TO2005
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12863
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 15:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270424
            [ClienteRazonSocial] => ENERGIA EOLICA CJR WIND CHILE LTDA.
            [ciudad] => PROVIDENCIA, SANTIAGO
            [ModeloMaquina] => ESTUDIO 2520AC
            [SerieInternaMaquina] => TO2956
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12941
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 12:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 94913830
            [ClienteRazonSocial] => DSPRINT CENTRO COPIADO 
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => AM-C4000
            [SerieInternaMaquina] => EP2816
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:47:25 - INPUT: {"rutTecnico":"95585912"}
[09/06/2026 12:47:25] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:47:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12669
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 16:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2570
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12713
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 15:35
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2136
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 15:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2552
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12635
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => NO ENCIENDE Y PROBLEMAS DE CONECTIVAD
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/05/2026
            [HoraLlamado] => 12:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91947000
            [ClienteRazonSocial] => SIKA CHILE S.A
            [ciudad] => SANTIAGO
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => EXTO2207
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12853
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => RESIDUAL
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 12:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 6508A
            [SerieInternaMaquina] => TO2005
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12863
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 15:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270424
            [ClienteRazonSocial] => ENERGIA EOLICA CJR WIND CHILE LTDA.
            [ciudad] => PROVIDENCIA, SANTIAGO
            [ModeloMaquina] => ESTUDIO 2520AC
            [SerieInternaMaquina] => TO2956
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12941
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 12:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 94913830
            [ClienteRazonSocial] => DSPRINT CENTRO COPIADO 
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => AM-C4000
            [SerieInternaMaquina] => EP2816
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:47:27 - INPUT: {"rutTecnico":"95585912"}
09/06/2026 12:47:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12941
            GROUP BY l.idllamado;
            

[09/06/2026 12:47:27] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:47:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12669
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 16:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2570
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12713
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 15:35
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2136
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 15:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2552
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12635
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => NO ENCIENDE Y PROBLEMAS DE CONECTIVAD
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/05/2026
            [HoraLlamado] => 12:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91947000
            [ClienteRazonSocial] => SIKA CHILE S.A
            [ciudad] => SANTIAGO
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => EXTO2207
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12853
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => RESIDUAL
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 12:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 6508A
            [SerieInternaMaquina] => TO2005
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12863
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 15:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270424
            [ClienteRazonSocial] => ENERGIA EOLICA CJR WIND CHILE LTDA.
            [ciudad] => PROVIDENCIA, SANTIAGO
            [ModeloMaquina] => ESTUDIO 2520AC
            [SerieInternaMaquina] => TO2956
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12941
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 12:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 94913830
            [ClienteRazonSocial] => DSPRINT CENTRO COPIADO 
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => AM-C4000
            [SerieInternaMaquina] => EP2816
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:47:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12941
            GROUP BY l.idllamado;
            

09/06/2026 12:47:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12941
            GROUP BY l.idllamado;
            

09/06/2026 12:47:30 - INPUT: {"rutTecnico":"95585912"}
[09/06/2026 12:47:30] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:47:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12669
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 16:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2570
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12713
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 15:35
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2136
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 15:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2552
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12635
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => NO ENCIENDE Y PROBLEMAS DE CONECTIVAD
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/05/2026
            [HoraLlamado] => 12:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91947000
            [ClienteRazonSocial] => SIKA CHILE S.A
            [ciudad] => SANTIAGO
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => EXTO2207
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12853
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => RESIDUAL
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 12:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 6508A
            [SerieInternaMaquina] => TO2005
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12863
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 15:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270424
            [ClienteRazonSocial] => ENERGIA EOLICA CJR WIND CHILE LTDA.
            [ciudad] => PROVIDENCIA, SANTIAGO
            [ModeloMaquina] => ESTUDIO 2520AC
            [SerieInternaMaquina] => TO2956
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12941
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 12:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 94913830
            [ClienteRazonSocial] => DSPRINT CENTRO COPIADO 
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => AM-C4000
            [SerieInternaMaquina] => EP2816
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:47:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 12:47:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 12:47:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:47:54 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:47:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

[09/06/2026 12:47:54] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:47:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:47:54 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:47:54] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:47:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:47:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:47:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:47:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:47:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:47:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:47:56 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:47:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:47:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

[09/06/2026 12:47:56] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:47:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:47:56 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:47:56] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:47:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:47:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:47:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:47:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:47:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:47:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:47:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:47:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:47:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12941
            GROUP BY l.idllamado;
            

09/06/2026 12:48:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 12:48:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 12:48:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12941
            GROUP BY l.idllamado;
            

09/06/2026 12:48:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 12:48:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 12:48:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 12:48:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 12:48:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:48:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 12:48:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12941
            GROUP BY l.idllamado;
            

09/06/2026 12:48:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 12:48:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:48:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 12:48:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 12:48:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:48:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 12:48:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12941
            GROUP BY l.idllamado;
            

09/06/2026 12:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 12:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 12:48:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12941
            GROUP BY l.idllamado;
            

09/06/2026 12:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 12:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 12:48:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12941
            GROUP BY l.idllamado;
            

09/06/2026 12:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 12:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 12:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 12:48:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:48:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:48:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:48:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:48:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:48:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:48:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:48:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                
=========================================
FECHA: 09/06/2026 12:48:31
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-+ghURKXaFp3+dThqo0JiS1lGcuG6.u+1mS8VWRdr.pmmLFwCSKB
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69253200",
    "serieinterna": "EP2536",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "9291721",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "insumo",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12882",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABpALMDASIAAhEBAxEB\/8QAGgABAQEBAQEBAAAAAAAAAAAAAAYFBAMCB\/\/EADsQAAEDAwEFBAkBBgcAAAAAAAABAgMEBREhBhIxQVETMmGBFCIjcZGhscHRFQcWJDNi4UJSVmNykvH\/xAAYAQEAAwEAAAAAAAAAAAAAAAAAAQIDBP\/EAC0RAAICAQMCAgkFAAAAAAAAAAABAgMREiExQVEEYRMiIzJxkaGxwRRCYoHR\/9oADAMBAAIRAxEAPwD9mAAAAAAAAAAAAAAAAAAAAAAAABzz11LTTxQTTsZJMuGNVyIrlOgEJp8AAyLvtJQ2j2bnLNULwhj1XzXl9SUm3hFZzjBapPCNcm7jea+uuj7TY9xJI\/51Q7uxrrlOC+GvU520O0V\/Yr62q\/TqZ\/CFjfWVPFOPxXyN61WiltFOsVOiqr1y+Ry5c9eql8KPO7OfVZdtFOMe\/X+joo45oaOKOol7aVrER8mMby9QewMzqSwsAAAkAAAAAAAAAAAAAAAAAAAAAmNpV7W\/2SnZ3u233L4Zb+FKcmLj7Xb+2Rrq1kCu9y4f+EKcvLhI5qd52Pz+yRM3O7XG43GSz2eN8L43YmqXpjdTw6e\/ny6ndZtm6O0+1X29U7vTP1XPh0+prNjYxz3NY1rnrlyomFcuMa9dEQ+g5bYRMaVq1zeX08gACh0AAAAAAAHlUVMFJCs1TMyKNOLnrhCam2prLlKtNYKJ8q8FnkTRvlwTz+BaMW+DGy6Fez57dTer7tQ2zcSsqWRK9cNRdVXxx08Tqa5HsRzeDkymmCTXYyoqI\/SKq4q6ukcjnvxlETohWRsbFG2NvdYiInuQmSiuGRVO2TeuOF0PoAFDcAAAAAAAAAAAAmHe0\/aI3\/apuXuXj8SnJii9p+0OvXlHTIiKnuZ+VKcvPp8Dm8P+5\/yYAJ261d+oLys1NTLWUbmIjYWIui9VXHHOeuhWKya2WKtZaKIEx+8d8\/05N8Xfg7rTf3V9W6iq6KSjqmt3tx\/BU0\/v8Czg1uZx8RXJ4\/DNkAFDoBl3y+Q2amRcdrUyaRQourl6+47ayrhoKSSqqH7sUaZcpO2CimvFd+8NyTVdKaLGjUTgv1x46l4pcvg57rJZVcOX9F3FHs3VXORtbf6mSVe8ymR2Eb4Lj6IUsMENNEkUETIo28GsTCIegIlJsvXTCvjnv1AAKmoAAAAAAAAAAAAAPOol7Cmll09mxXa+CZAbwTmy\/wDE3q9Vq8HTbjF8Mry92CnJzYaLcsKyLlVlmc5VXyT7FGXs95nN4VexT77\/ADAAKHSCXtqrcNt6+pXuUjOybhM4Xhx\/7Grf7u2z2103GaT1IU\/qVNFXwQ8dl7XJbLWi1CL6TOu\/JninRF6\/3NFtFs5bHrtjBdN3+DZABmdRKXtz75tHT2RjnejQp2lTurjPPX5J73GncNorXZmpTq\/tJGIjWwQpvKnLC8kPm57NQXKrWoWpmhVyYd2a6u8+nh+T3tmz1utWHQQI6VERO1fq7+3ka5jhHEoXKcmsbvny+Blfq201eqLQ2ltNGufWqNF+ap4cj67HbJWp\/E0bVzngnw7pTArr7JGn6dv3pv54JZ9y2qtrVlq7fDVwpq7sV9Zvw\/BqWjaKgvKbsD1ZMiZWGTR3l1NUntp7NFLRvudN7CspUWVJI0wrsarnHPxJTjLZrBWUbKlqjLK7P8MoQcNmrX3G0U1W9MPkZ63vRcfY7ijWHg6YyUkpLqAAQWAPKpfLHSyyQRpJK1iqxi\/4lxoh42x9fJQsdcoo4qlc7zY1yidOa\/UnG2Sur1tJ1gAgsDK2mm7DZytflUzHu6f1Kifc1Sb24lVLNHTs1fPO1qJ1RMr9cFoLMkYeIlpqk\/I0Nm4PR9naJnWJH8f83rfc1DinraGz0cbamoZE1jEa1FXV2E5JzMR+11RWu7OzWqaoXTL5Ew1PJPyhOlyeSvpa6YqDe66FQYd02ppaGb0SljfW1a6JFFqiL0VU+iHClo2iu7kW6XBKSBU9aGnXVfBcafNTZtVioLOzFLFl696V65evny8icRjzuRrts2itK7vn5f6ZlustXXXD9WviNc\/HsafCKkacdfd\/6UgBWUmzauuNawgACpoAAAAAADA2ur1htyUEKb9TWr2bGJxVF4\/g6b1tDS2hm5\/OqnaMgYuq54Z6IcNjstVJXOvV4w6qkT2cSp\/KT7LjTHLXmaRWPWZy3T1+yhy+fJG1bKJtutsFI3C9kzCqiaKvFfnk6gDNvJ0xSikkAACQAAAAAARu2ta5l1tsLI+1WJ3a9nhfXXKYT5fMsj4dDE6Vsro2LIzO69WplueiloS0vJjfW7YaU8E7bdnHVkqXO\/J29U\/CpCvdYnJFTn7ijYxkbEZG1GNamEa1MIh9ASk3yTXVGtbAAFTUAAAAAAGBW7WU1NUyU0FJU1U0T1Y5GMwmU8TfPOPvyf8AL7ISsdTOxTaxF4Jxdp7rP6lJs\/PvrzkVd1Pkn1Pn0Lam7YSrq47dCvebCvrL8F8uJUgvrS4Rl6CUvfm39PsY9q2ZoLW5JkR09Rzlk1XyTkbABRtvdm0IRgsRWAACC4AAAAAAAAAAAAAAAAAAAAAAAB\/\/2Q==",
    "razonSocial": "ILUSTRE MUNICIPALIDAD DE SIERRA GORDA",
    "nombreTecnico": "DANIEL FUENTELZAR",
    "nombreContacto": "CARLOS HIDALGO PRIETO",
    "correoContacto": "administrativo.daem@munisg.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28906\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "12:49",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "12:14",
    "horaDespacho": "12:46",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 12:48:31 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:69253200

[09/06/2026 12:48:31] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('69253200', 'EP2536', 1, 9291721, 0, NOW(), 
				'12:46', '12:14', '12:49', 10, 'insumo', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781023711.png', '', null, 'COMPLETADO','LatLng(lat: 0.0, lng: 0.0)' )
				
[09/06/2026 12:48:31] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200638
[09/06/2026 12:48:31] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200638', 'EPS-I302', 2)
				
[09/06/2026 12:48:31] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28906 and
				    IDproducto = 'EPS-I302'
				

09/06/2026 12:48:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:31 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I302';
                
09/06/2026 12:48:31 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200638'                    
				WHERE idllamado = 12882			
				TO ENVIO: micorreo@miempresa.cl, administrativo.daem@munisg.cl


09/06/2026 12:48:31 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12882			
				
09/06/2026 12:48:31 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


09/06/2026 12:48:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:48:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12941
            GROUP BY l.idllamado;
            

09/06/2026 12:48:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 12:48:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 12:48:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 12:48:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12941
            GROUP BY l.idllamado;
            

09/06/2026 12:48:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 12:48:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 12:48:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 12:48:35 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:48:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

[09/06/2026 12:48:35] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:48:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:48:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:48:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:48:35 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:48:35] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:48:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:48:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:48:35 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:48:35] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:48:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:48:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 12:48:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12941
            GROUP BY l.idllamado;
            

09/06/2026 12:48:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 12:48:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 12:48:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 12:48:43 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:48:43] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:48:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:48:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:48:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:48:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:48:43 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:48:43] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:48:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:48:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:48:43 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:48:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

[09/06/2026 12:48:43] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:48:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:48:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:48:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:48:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:48:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:48:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:48:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:48:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:48:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:48:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 12:48:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12941
            GROUP BY l.idllamado;
            

09/06/2026 12:48:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                
=========================================
FECHA: 09/06/2026 12:48:44
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-.99Epse+_6TNCnj_wB3oIgt5BR_IRf_Oe-.7U25ZEUJ596+MSOU
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "94913830",
    "serieinterna": "EP2816",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "95585912",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se realiza la entrega de insumos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12941",
    "observacion": "se realiza la entrega de insumos",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAC1AOsDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xAA8EAABAwMCAgcGBQMEAgMAAAABAAIDBAURBiESMRNBUWFxgaEUIjKRscEVI0LR4RYz8AckQ1IlwmLi8f\/EABkBAQADAQEAAAAAAAAAAAAAAAABAgMEBf\/EAC8RAAIBAgMGBAYDAQAAAAAAAAABAgMREiExEyJBUWHRBDJxkRSBobHB8CMz4UL\/2gAMAwEAAhEDEQA\/AP2ZERAEREARFTX\/AFBHaI2wwtE9bLtHEN\/M4+nWpSbdkUnONOOKWhKut5orPDx1UnvkZZG3dzvAfdUjH6ovRM0LmWymcAWBw94j5Z+ikWfT0j5\/xS9ET1ryHNYTkRfz6DqWiV7qOmZzqNStnN2XJa\/PsZb8SvdhnjbdhHU0Ln8PtDObc8if57Oa0sM0VRCyaF4fG8Za5p2ISogiqqeSCZofHI0tcD1hZzTj5bVdanT87uJjAZad52LmnmO\/nnyKZSV+JKxUZqLd4v6M06IizOoIiIAiIgCIiAIiIAiIgCIiAIi4VdZTUMJmqp2QsHW44z4dqENpK7O6Kut9+t10mfFSTl7mDJy0t2zjrVipaa1IjKMleLuERFBYIiIAiLhWVcNBSSVVQ\/hijGXFCG0ldkO+3mKyUHTvHHI88MUefiP7BQNPWKSKZ12un5ldOeIBw\/tZ+\/05KNZ6SXUF0dfK+M+zsOKSJx2GDzx\/m\/gtWtG8Kwo5aa20tpLRaL89giIszrCy2rWihuFsvDduilEchGclvMD5cXzWpWe1uAdPEnqlaR6q9PzI5vFL+GT5Z+xoUXGlcX0cLnc3RtJ2x1LsqHQndXCIiEhRK+50dti6SrqGRDqBO7vAcyqu86jNNP8Ah1tj9pr3YAAGQwnt71yt2leKf269y+21Tt+B27G93f8ARXUUleRzSrOUsFJXfPgjx\/V81U7\/AMZZqqpZv+YRgZ8gfqvo1g+mkY26WmppGuIHGQSPUD0\/haRjGRsDI2hjWjAa0YAXyWKOaN0csbZGOGHNcMg+SnFHkNnW1x5+isc6Ssp6+nbUUsolidycP82XdZCtgl0jcW19HxOt1Q\/hmh3ww9o+3yWtjkZLG2SN3Ex4DmntBVZRtmtC1Ko5XjJWkv256REVTcIvhIAyTgBZK4XCs1PUvtloyyjacT1J5OH7d3X4K0Y3MatVU1zb0XMlXDUs1RVG3WKH2moOxm2LGdv\/AOnbxVVdrRBa6P2q6zvuNyqPdiYXO4eL6kDP0GFrLXa6W00gp6VmBzc483ntKoqRn45rGoqZAHU9twyMdXGDz+YJ+S1jJLTRHJVpykljzk9FwXcmaYsLbVTe0zN\/3k7cv2xwA78IH1V8iLGTcndnbTpxpxUYhERQaBERAFkJnv1feTSxvcLVSnL3t26V3+em6sNVXCaOCK10ZPtdc4MaRkcLc7nPp4ZVjaLZFabbFSRgZAzI4fqd1laLdV+JyVP5p7P\/AJWvbuTI42RRtjjaGsYA1rQNgByC9IizOsIiIAs3rmQizRQNGXzTtaB18ifrj5rSLL3nNy1dbqBvvR0350o6s88Ht2A+avT81zm8V\/U4rjl7mlhjEMLIgchjQ3Pbhe0RUOkLPXu9zGoFotA6Suk2c8coh+\/0S+3yZtS20WodJXS7OcOUQP3x8lNslkhs1OQD0lRJvLMebj+y0SUVdnLOcqsnThpxf4XX7CyWOCz05x+bUybyzHm49ngrREVG23dnRCEYRwxWQREUFiJdKQV1rqaUjPSRkDx6vXCq9GVZqtPxsc7LoHmM57OY9DjyV+szpFvQ1l3pRgNiqcAA563D7LRZwZzTyrwfO6\/JpkRcqnjNLL0Xx8B4fHGyzOhmYutZUaiuv4JbpeGmZvUzt3B7vt3nwWkoqGnt1K2mpYxHG3s5k9p7SqDRc9IyhkpTJw1vSudK15w93Ye\/b\/N1o554aaIyzysijbzc84AWk8nhRy+HSktrJ5v6dDxW1DaSimqXODREwuy7lsFS6LpnRWU1EgPHUymQuPWOX2KhVVVLrCrFDRcUduidxTTkEcZ6sD6DzK1cMUcELIYmBkbAGtaOQCPdjbiTB7WrjWi06s9oiLM6giIgC8SyshifLI4NYxpc5x6gOZXtZrV9ZI+OCzUpzUVjhkf\/ABz9z6Aq0VidjKrU2cHI46ajfeLvVX+obhuTHTtI+EfwNvMrVqPQUUduoYaSH4Im8Oe09Z8zkqQkndkUKbpws9dX6hEXCsrKegpn1FTKI42Dcn6DtKqatpK7O6pv6nopLtHbqVr6mR7uFz4\/hb2nPWqh89y1fK6Kl4qS1B2HyHZ0n7+HLtWkt1qo7VB0VJCGD9Tju53iVo4qOupzKpOq\/wCPKPPn6dyYqu22SO33GsrenfNJVOzl43aOZG3Pf6BWiKibR0OEZNN8Aq6+3L8KtE9UN5AOGMY\/Udh+\/krFZfUgbX6itNrcOJnF0r245tz+zSrQV3mZV5uFN4dXkvmS9L2g0NIayoJfWVfvyOcQSAd8Z88n+FeoirJtu7NKdNU4qKCIiguERQ667UFtaTV1UcZAzwZy4+A5qUr6ESkoq7ZMWY0eOkqLtVH\/AJqnmPFx+65VOsKiphlNptsr2sYXOnlGGsA5nA29fJV2n9NVVztbZJbhJDRSuLhDGT7xBwSRy6u9aqFovFkefOup1Y7NYrX6dDWVl\/tVDnp66IOH6Wnid8gqqTWkczujtluqax\/hgemVOo9K2eiwW0gleP1THi9OXorZjGRsDI2hjWjAa0YAVbwXC50Ya8tWo+mf3MRLZ77eLky4NooLZIDkScRDj2E4zk+Q71DrKC40db02oKeqr6Zu\/FHMeDx5bDbuX6Kisqr5GMvAxeeJ3\/eGhRWrUVgdA2Gmmjo2t5RyAR46+fL1V2x7JGB7HBzTyLTkFQayxWuvBFRRxknm5o4T8wql2jG07y+2XOqo3HqzkemFXcfGxqnXhlhTXTI0yLLiPV1t3EkFxibk8OwcR6fddqTWFP0vs9yppaGYAZ42kjO+TyyBsowPhmSvEwvaacfXvoaJF5jkZKwSRva9juTmnIK9Kh0hZey4uuq6+5uAMdN+TCeHHdn5A8\/+yu7zV+w2erqQcOZEeE5\/Udh6kKDpGkNLp6EubwvnJlIxjny9AFosotnNU360Ycs+xdouNTVQUcJmqJWxxjrd9O9ZmS8XXUUzqeysdS0o2fVP2J8D1eW\/gqxi2XqVo08tXyLO86kpbYTTxA1Nadmwx74Pf2eHNV1Lp6tu87a7UExIG7KVuwHj2fVWtn09RWdvFG3pag\/FO8e8fDsVqrYlHKJmqUqjvV9uHz5nljGRsDI2hjWjAa0YAXpEWZ1BERAFl6T\/AHmv6uXHuUkHAD37D7uWnJAGScALMaKb08dwuTvjqag8x2b\/APt6LSOSbOatvVIR639jUIip7rqagtbzDxGep5CGLc57Cer6qiTeSNpzjBXk7FwqS46rtlA4xRyGqnzgRw779meX3Vd+HXzUmH3KX2CjJyKdg94jv\/n5K9ttloLUzFJAGuxgyO3cfNXtGOuZhjq1PIrLm+3co2s1PfS4ySfhVK7bhDffP39Qp1BpC2UbhJM01cuMEzYI+X75V6ihzeiyLR8NC95bz6\/tin1K9lJpmrDGhjeAMa1oAAyQNvmu+n6f2awUUWAD0Qccdrt\/uqnWkjp4qK1xH8yrnGw3OBt9T6LSxsbFG2NvwsAaPAKXlBFYb1eT5JL8npERZnUEREAREQBR62gpLjD0NXAyZnVxDceB5jyUhE0IaTVmZCakrtIy+10kr6m2l35kDj\/bBPMfv81qqapiq6aOohcHRyN4mkFQ9QVMNLYquSbBa6IsAPW4jAHzKh6doZo7BSAzOjy0nhHLck9R81o96N2csFsqrpx0te3Ii6ykfUewWmL4quYF2ByA2++fJaCVwo6JxhhdIIWe5EzcnA2AWeOK7\/ULBw5tFT5x1A4\/+\/8AmFqElkkiaO9Oc+tvb\/TJ0louGoKltffCY6YHMVICR8+z6nuWpihjgibFCxscbBhrWjAAXtFWUmzWlSjT6t6sIiKpqEREAREQEC91HstkrJhzbE4DxIwPUqJpOD2bTdNxbF4dIT4k49MKHrWpLqKntkRzNWSgcO\/IHu7yFoqeFtNTRQM+GJgY3wAwtHlD1OVb3iG+St7mGvesKmscaWga+miOQ55+N3h2eSWqmuLWg2i0dHJn3qyswXeIBxgeGVuo4Yos9HGxnEcnhaBkr2rbRJWSMvhJyninO\/7wMuzStfVky3W8yyPP6IvhG+evq7sDqXx1hvdrHTWq6yVHCD+ROdj4ZOPotSirtJG3wtPhe\/O7uU1kvwuJdSVTBT18WekhxjPhlXKoNTWZ1VB+IUQ4K6nw5rm83Ab48ez5LvQX+Kr0\/JcjjjgjJlZn9QGcef3RxTV0IVHBunU4Z35ruVsTjddePeDmG3Rlo979XI+pPyWqWc0XSvjtclbNky1kheSQBkDl65PmtGoqa25DwyeDG9ZZ\/vyCIiodIREQBERAFzmmip4XzTPDI2DLnOOwCrrxqKitDSx7ulqP0wMPvefYqhltuup5WVF2LqOhByylbs53ef3PkBnKuocXoc866TwQV5fup5YJ9X3SOcsMdppX+6Hj+8evb\/MeK1rWhrQ1oAAGAB1LxDDFTwshhYGRsGGtaNgF0USlfTQtSpYLtu7epmLJvrG8E7kADPmFp1mKI9D\/AKg17DympwW\/Jv7FadTPVFPDeVrq\/uERFQ6QiIgCIiALnNNFTwvmmeGRsGXOcdgFyrrhSW2AzVc7YmdWebu4DrWaLa7V9SA8SUlqjO4\/VMc\/54K8Y3zehhVrYd2OcuXc9WWN191FPfJWn2eD8umDhz6gfqfErWLnTwRUtPHBC0MjjaGtA6guiiUrsmjT2cbPV5v1CIiqbBERAF+f6op57LVVEdKeCjuLQS0Zw0ggkDs\/Y4X6Asnr8PNtpcD3RKc\/LZa0nvWOLx0b0XLijR2+lFFbqelH\/FG1p7yBv6qSq6wVr6+yUtRISZCzheT1kbZ8+fmrFZu98zqptOCcdAiLlUVVPSx9JUTRxN7XuAUFm0s2dUWdqdZUXH0Nugnr5yPdEbCAfv8AIKN7Jqe+Bpqp2W2ndzZFkPI7xnPzPkr4HxyOd+Ji8oLE+nfQurjfrba39HU1IEuP7bd3fx54VKbve9QM6O1UZo4HHBqpHb47v4yrS3aYtducJGwdNMN+lmPEc+HIK3U3itFcjBVqed2XJd+xTWnTNFbHCeTNTV5y6aTfftA6vHmrlEVG282bwpxgrRVgiIoLmXu59i1ra6s7MmYYiT27j\/2C1CpNV2+attXS0wzUUrxKzA97A5gfXyUuy3SO7W6Odrm9IBwytB+F3WtJZxTOWnuVZQfHNfksEReXvZGwvkcGNaMlzjgBZnUekVHW6vtFGeBkxqZM44YBxevL1UFt21Hefdt9AyhhcNppsk+IJH2KuoS1Zzy8TTTss30zNJU1dPRxdLUzxws7XuAys\/UamnuLn0unqd1RKAOKd7cNaPP74819ptHxyvbPd6yeumHMF54fDt+i0MEENNEIoImRRt5NYMAKd2PUratU13V9eyKCi0t0sorL5Oa6pP6CfcZ3d\/oFoWtaxgYxoa1owABgAL0iq5N6m1OlCmt1BERVNAiIgCLnPUQ00ZknlZEwDJc92AqOt1na6YllOZKuTfAibtnxP2yrKLehnOrCn5nY0Ch3S2U92ozTVLctzxNOT7ru31VH+MaluBLaGzilYRs+o5jv3x9Cvn9O3yv3uV7LGnnHADjw6h196so2zbsYSrKorRg2vZfUtY6i06foo6V9VFE1g+Euy49pwN+arqjWdO6QQ2yjnrZHHDcNLWnw6\/RSKTR1npiHSRPqX5yXTOz6DAVzDBDTsDIImRMHJrGho9EvD1JUa7Vsorpn\/hm2jVt1HvOhtkTueB75HqR6L3BoqmdJ01yrKiuk5nicQD9\/VaVFG0fDIleGg853l69tCPSUNLQxiOlp44WgY91uM+J61IRFQ6EklZBERCQiIgCIiALP12k4Zat1bbqqWgqHczF8JPXtsd\/HHctAilSa0M6lOFRWkjMmxaiIwb+cHrAPmjNGMnlEt0uVTWu22JwPDck48MLTIrbSRl8LS45+rZAorLbbdg01JGxw\/WRxO+Z3U9EVW29TeMYxVoqwREUFgiiVlzobe3iq6qOLuJ3+XNUkms453mK1W+orZB2NwMdu2SrKEnoYzr04ZSeZplHq7hR0DOOrqY4RjI43YJ8BzKz5ptV3X+\/URWyIj4Yt3d24JPqF2ptF22OTpap81ZIfiMjsAnt239VbDFasz2tSXkh75fTU81GtKQyGC3009bNuGhjcA\/f0XJx1bdQeFsNsiPb8ZHqfotHT0tPSR9HTQRws\/wCsbQ0ei7JiS0Q2NSXnn7Zf6ZqDRVM6TprlWVFdJzPE4gH7+qvKS3UVA3hpaaOEdZa3c+akoquUnqzWFGnT8qCIiqahERAEREAREQBERAEREAREQBERAEREARR62tprfTOqKqURxt6z1nsHaVmnVV31U9zKAmhtucGYjD3+voPMq0Yt58DGpWUHhWb5FndNU262Exh\/tE\/Loot8HvPIfVVw\/qm+MyCy107jkcxIR9fore1aet1oAMEXHLjeWTd38eStFbFFeVGeyqVP7HZcl3KCj0dbYHmWq6StlJyXTO2z4Dn55V3DDFTxiOCJkTByaxoAHkF0RVcm9TaFKFPyqwREVTQIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAqy83ylssLXS5klf\/AG4m\/E79gvl7vkFnpxn82pk2ihHNx7fBQrJZah9QbteDx1jzlkR3bF2HHUforqKteRz1KknLZ09fsRaCyVV9qG3S\/cQbzhpNwAO8dQ7uZ61qWMZGwMjaGNaMBrRgBekUSk2XpUo01lrxfMIiKpqEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAVFHpyjpblNcZHPqKiR5c10pz0fcP37hyVuiKW29SkIRgrRQREUFwiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiID\/2Q==",
    "razonSocial": "DSPRINT CENTRO COPIADO ",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "YARITZA MATURANA",
    "correoContacto": "jefasucursal@gmail.com",
    "correoCliente": "jefasucursal@gmail.com",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56990956084",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"DEU-I857\",\"id_control\":\"28962\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"XER-I333\",\"id_control\":\"28962\",\"cantidad_usada\":4,\"cantidad_asignada\":4},{\"id_inventario\":\"DIA-I343\",\"id_control\":\"28962\",\"cantidad_usada\":3,\"cantidad_asignada\":3},{\"id_inventario\":\"DIA-I696\",\"id_control\":\"28962\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"BES-I1218\",\"id_control\":\"28962\",\"cantidad_usada\":10,\"cantidad_asignada\":10},{\"id_inventario\":\"GEN-I1132\",\"id_control\":\"28962\",\"cantidad_usada\":10,\"cantidad_asignada\":10},{\"id_inventario\":\"DIA-I960\",\"id_control\":\"28963\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"GEN-I1292\",\"id_control\":\"28964\",\"cantidad_usada\":20,\"cantidad_asignada\":20}]",
    "horaSalida": "12:49",
    "ubicacionGPS": "LatLng(lat: -23.6618634, lng: -70.4000991)",
    "horaLlegada": "12:44",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 12:48:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:94913830

[09/06/2026 12:48:44] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('94913830', 'EP2816', 1, 95585912, 0, NOW(), 
				'08:00', '12:44', '12:49', 10, 'se realiza la entrega de insumos', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781023724.png', 'se realiza la entrega de insumos', null, 'COMPLETADO','LatLng(lat: -23.6618634, lng: -70.4000991)' )
				
[09/06/2026 12:48:44] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200639
[09/06/2026 12:48:44] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200639', 'DEU-I857', 1)
				
[09/06/2026 12:48:44] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28962 and
				    IDproducto = 'DEU-I857'
				

09/06/2026 12:48:44 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'DEU-I857';
                [09/06/2026 12:48:44] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200639', 'XER-I333', 4)
				
[09/06/2026 12:48:44] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 4
				WHERE
				    IDcontrol = 28962 and
				    IDproducto = 'XER-I333'
				

09/06/2026 12:48:44 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 4)
                WHERE ID = 'XER-I333';
                [09/06/2026 12:48:44] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200639', 'DIA-I343', 3)
				
[09/06/2026 12:48:44] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 3
				WHERE
				    IDcontrol = 28962 and
				    IDproducto = 'DIA-I343'
				

09/06/2026 12:48:44 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 3)
                WHERE ID = 'DIA-I343';
                [09/06/2026 12:48:44] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200639', 'DIA-I696', 2)
				
[09/06/2026 12:48:44] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28962 and
				    IDproducto = 'DIA-I696'
				

09/06/2026 12:48:44 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'DIA-I696';
                [09/06/2026 12:48:44] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200639', 'BES-I1218', 10)
				
[09/06/2026 12:48:44] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 10
				WHERE
				    IDcontrol = 28962 and
				    IDproducto = 'BES-I1218'
				

09/06/2026 12:48:44 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 10)
                WHERE ID = 'BES-I1218';
                [09/06/2026 12:48:44] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200639', 'GEN-I1132', 10)
				
[09/06/2026 12:48:44] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 10
				WHERE
				    IDcontrol = 28962 and
				    IDproducto = 'GEN-I1132'
				

09/06/2026 12:48:44 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 10)
                WHERE ID = 'GEN-I1132';
                [09/06/2026 12:48:44] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200639', 'DIA-I960', 2)
				
[09/06/2026 12:48:44] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28963 and
				    IDproducto = 'DIA-I960'
				

09/06/2026 12:48:44 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'DIA-I960';
                [09/06/2026 12:48:44] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200639', 'GEN-I1292', 20)
				
[09/06/2026 12:48:44] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 20
				WHERE
				    IDcontrol = 28964 and
				    IDproducto = 'GEN-I1292'
				

09/06/2026 12:48:44 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 20)
                WHERE ID = 'GEN-I1292';
                
09/06/2026 12:48:44 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200639'                    
				WHERE idllamado = 12941			
				TO ENVIO: jefasucursal@gmail.com, jefasucursal@gmail.com


09/06/2026 12:48:45 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12941			
				
09/06/2026 12:48:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


09/06/2026 12:48:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 12:48:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 12:48:45 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:48:45 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:48:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:48:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

[09/06/2026 12:48:45] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 12:48:45] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:48:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:48:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:48:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:48:45 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:48:45] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:48:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:48:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:48:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:48:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:48:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:48:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:48:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:48:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:48:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 12:48:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12941
            GROUP BY l.idllamado;
            

09/06/2026 12:48:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 12:48:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:48:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:48:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:48:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:48:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:48:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:48:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 12:48:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 12:48:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:48:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:48:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:48:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:48:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:48:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:49:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:49:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:49:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:49:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:49:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:49:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:49:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                
=========================================
FECHA: 09/06/2026 12:49:29
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-3mhJVPpEUJGVcN2dul31Rrfh4RbD5okfI-bnhJ0ot3Y7Rnvm7F0
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69020400",
    "serieinterna": "TO3146",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "9291721",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "insumo",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12950",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADiAPYDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgIDAQf\/xABFEAABAwMCAgYHBAgDCAMAAAABAAIDBAURBiESMRNBUWFxgRQiMpGhscEkQtHwBxUjM1KSwuFTcoIWJTRDYnOy8ZOi0v\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EAC8RAAIBAgQDBgcBAQEAAAAAAAABAgMREiExQQQiURMyYXGB0SORobHB4fBCMyT\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAEREAREQBfCQBknAC8ausp6CmfUVMojjYNyfkO0rLvqLnq6V0NLxUlqDgHyOGHSD6+HvUoxvnsU1ayhyrNvYuqbUFHWXd1up+KUtaSZWjLMjqz9VaqHbbXSWmm6Ckj4W5y5xOS49pKmLjtfIlTx4efUIiLhYFmorncLNeDS3iVstLUuJhqMcIb3Y92y0qpdW0bavT1QSAXwgSsPZjn8MqcLXs9yiupYccXms\/MukUGzVbq6z0tS85e+McR7XDY\/EFTlFqzsWxkpJNbhERcJBERAEREAREQBERAEREAREQBERAEREAREQBR62tp7fSvqamQMjYNz29w70ra2nt9K+pqZAyNg3Pb3DvWZoqKq1VWtudzaY6CM\/sKfPtd5+p6\/BTjG+b0KKtVxeCGcn\/XYpqOr1ZWtr7g10NtjOYYM\/vO8\/U+5auKKOGJsUTAxjBhrWjAAXTWhrQ1oAAGAB1L6uSlc7SpKnnq3qwiIolwREQBRLqA60VjTuDTvB\/lKlqvv0wgsNc8\/4DmjfG5GB812OqIVHaDfgQtGnOmqfngOfzP\/AFFXqp9Jx9HpqjBGCQ53vcSrhdn3mQ4dWox8kERcuc1jS57g1o5knACiXHSKM25UDnBra2nJJwAJW7\/FSAQRkHIKWOJp6H1ERDoREQBERAEREAREQBERAEREAXnUVEVLA+eeQRxsGXOdyC7c4NaXOIAAySepZKV8mrry+ljkc200xy5zBjpXdmffjuGVKMb+RTVq4Eks29Dmkin1fdPTKppZa6d2Io8\/vD3\/AF9y17WhrQ1oAAGAB1LiGGOnhZDCwMjYMNa0bAL0SUr+Qo0sCu829WERFEuCIiAIiIAs9rafo7CYG7vqJWsDRuTg8X0C0Ky94Lbpq2320HLKXM0ozt1EA+4fzKdPvXM3FP4TitXl8zQ0VOKWhgpwMdFG1mPAYXuuZJGRRukke1jGjLnOOAB3lZSrudfqSqdQ2Zxio2HE1VgjPaB+HM+C4ouROpUjSSWr2RPu2pmUtQKK3Q+m1jjjhZu1njhRW6auN1xJfbjIW5yKeIgAeJxj4eatrRYqKzRFtOzMjhh8rt3O\/AdyslLEl3StUZVM6z9Nv2UJ0XZCMCnkHeJXKBTRzaWvlNRNlfLb6zLWmQgcLs9vdt45K1qzGsPVqbRIeTanf3j8F2MnJ2ZCvShTj2kFZq2nmadERVG0IiIAiIgCIiAIiIAiIgCIqnUN4FooMxkGqm9WBhBOT1nyz8l1Jt2RCc1CLlLRFfqK5TVlVHYba8GWc8NQ4DPRt6x7s5\/uru2W+G10EdHBktYN3Hm4nmSoGm7O63U76qpcX1lXh8xcN2k74+O6ulKTXdRTRhJvtZ6v6L+1CIigaQiIgCIiAL45wa0ucQABkk9SiXK6Ulppunq5OFucNaBkuPYAs5HTXPV0jZqzio7WDxMjafWk7PHx9ynGN83oUVKyi8MVeXT36Ey6a0oKIujpAayUcyw4YP8AV1+XvUXTZ9Gp63UN0xH6Sctkcd+HJyAO848cBRLrT0MlcyxUIZS0tOOlrJ8cgB1nr548SF7xwS6sqWMja+mstLhrGjbpMbfL3eKttFRMHaVJVbvNrRLS+\/ojpvp2spg5wfSWljuX3pSPz4DvK1FJR09BTMp6aIRxsGwHzPaV6RRRwxNiiYGMYMNa0YAC7VMpXyWhvpUcHNLOT3\/tgiIol4WY1d+0rrNTf4tTz82j6rTrMX39rrCzRZ9nL8eefop0+8ZuK\/526tfc06IigaQiIgCIiAIiIAiIgCIiA5kkZFG6SR3CxgLnHsAWWtLHajv8t3qIz6JSnhpQcgEg7O8uZ7yOxe2qKuerqILBRbyVODM4DPAzP9iT3eKvaGjit9DFSQjDIm4Hees+Z3Vi5Y33ZkfxquH\/ADH6v9EhFXV94ioLhRUbo3vfVv4QWjZo5Z+KsVCzRpUk20tgiIuEgiIgCr73dorNbn1L8Ok5Rxk443fndTZZY4IXzSvDI2Auc48gFlbTDJqe7m9VbAKSnPBTwnfJHWffnx8FOK3ehnrVGrQh3n9PE9rVYH18zLxeJHTyyDjjgdu1gPLI+is75eqex0XSOw6VwxFFn2j+AXpdrzSWan6Wpfl5HqRt9p\/h+KwVTHcdQ32OOZ37abcM5iBnPB7MDf8AuVZGLm7y0MtWpHh44Kecn\/ZnVitlTf6x4e54gc\/pKqXPtnOccue5+fYv0eCCKmgZBCwMjjHC1o6gvC2W6C1UMdJAPVYN3Hm49ZKlqFSeJ+BfwvDqjHPV6hERVmsIiIAsw77T+kRv3vRabq+7kHn\/AD\/FadZjT\/2rVN6rDvwOEIJ7M4\/oHwU4aNmavnKEfH7ZmnREUDSEREAREQBERAEREAUW418NtoZauY+rGMgZwXHqAUpZS9l9+1FBZoi40tOQ+qc3lnnj3bDvJ7FKKu8ymvUcIZavJeZI0pb5SyW81ozVVp4hkAcLTvt47e4LRr41oa0NaAABgAdS+pJ4nclSpqnBRRmJPtf6Q4gNxR02SB1ZB5\/zj4LTrL6eIrNT3muG4a4RNcesZx\/QPgtQuz1SKuGzjKXVv2CIigaQiKPXV9NbqZ1RVSiNjR18z3AdZTU42krsoNU1M9dVU9hoi4STkOncM+qzv7uZPgO1e1ffKWyRQ2u2xelVTQI2Qs34cfxY6+5ZuztvF0q6yWiZ0bqtxEtW7\/ltJyWg+7l2DktZQWi36bopao+u9jC6Wd49YjsHZ4davklGyZ5lKdSq5VI5X3ey8DPVsElqjFyujxV3epOIIuYi7HcPXg+W\/WtFpyyCz0ZMxD6uY8Ur+fln87qtsFPNe7rJqCsaRG0ltIw4wG5I+HzytUozk+6W8NSTfabbe\/qERFUbwiIgCIiA5c5rGF7jhrRknsCzeh2ufbqqqcMGeoJA6sYH1J9yt77P6NY62UHBELgD2EjA+JUXScIg03SDbLwXkjryT9MKaygzNLPiIrom\/wAFyiIoGkIiIAiIgCIiAIiICuv1zFptM1TkdJjgiB63nl7ufkoelLWaK2CpnaPSqs9JI4jcA8h9fEqBWu\/2g1dFQgcdHb8ul7C7r+OB5FaxWPljbqZIfFqueyyX5f4C5keI43PPJoJXSj1zg2gqC4gDonbnwVaNTdlczujZYKW0S1NRMGuqKkgOftxHA\/utUvy2y18MNfSPrpnsp6PikY1gJLnHfHmcd2AtSdUXK5Hgstpe4E46WceqNu7Ye9X1KbxXPN4XioKmovb1ZqCQBknACq7hqW1W7IlqRJIDgxxes4fgqtunbvdAHXq6yBjh60EGAPw+BVrQ6ctNvwYaNjnjH7ST13Z7d+XlhQtFau5px1p92NvP2RUt1Be7uQ20WzoonZAqJ9xjt7PmqW+2WsjkpBWVxq7hVv4QzOzB\/wCyOzrX6IstH\/vLX8jj60dBDhueXFj8XH3KcJ55Iz8RQvFKcm23b+Ro6SmZR0kVNGAGRMDRgdgWavr5r\/eo7FTuLaeEh9TK0ZwcHb5eZ7ldX65i02mapyOkxwRA9bzy93PyUTSlsNFa\/SJm\/aas9LISNwDyH18SVCOSxF9VY5KitNX5dPUuIYY6eFkMLAyNgw1rRsAvREVZr0CIiAIiIAoN1u1LaKQ1FS\/f7jAfWeewKVNNHTwvmmeGRsGXOcdgF+c1Vzmu1e6qDHSzyu4KODORGP4iO3s789ishDEzJxPEdkrLVnhd9QXG8l5keY6YbdDGSG88jPadvgv0m3wejW6mgxjo4mtI8AsZc7S220lotTj0ktXVCSc9Rds3Hh62Pet2p1WrKxTwcJqc3N3eXuERFQeiERcveyNpe9wa0cy44AQHSKNSXCjr+P0Spjm6PHFwOzjPJE0OJpq6JKIvhIAyTgBDp9VdfrmLTaZqnI6THBED1vPL3c\/JRq\/VlpoSGiY1MhOOCDDvjyWYq6i56xuQpYYGU7abJ4JCcN3A9bbn3Y7e9Wwptu70MVfiYqLjTd5PSxotL0LLTZRU1b2xy1REkj5HYwD7IJPjnxJX2r1jaKb1Y5X1L844Ym5+J2UWLRvpDxNd7jPVv29UHA8MnJPwV5RWqgtwxSUkcRxjiAy4\/wCo7pJxvd5inGsoKMUopdc2UZueprptQ25tBGR+8n9r4\/gVAvFhqYLVPXXe7yzyNHqRtJ4eInbn8gAtusPr24dJNBb2A4iHSyHqydh9fepU23KyViriacYUnKbbf9siz0lZKOK0w1k0Ecs8x4w9zc8A6gM8uXxWkAAGAMAKFZGcFjoW7\/8ADszn\/KFOVU23JmyhBQpxSWwREUS45ke2KN0jvZYCT4BZvRcbpoK65SNAfV1BPlz+ZKs9RSGPT1c4HGYi337fVVUVZ+qNAxSxuLJHRYjPXxOJOR7yfJWRXLluY6skqyb0im\/weU2NUam9H2dQW4kvyNnuzjHPfONu4Fa1UVgpqaxafZNUvZD0oEsr3HABdyHkMDxyrqKWOaNskUjZGOGWuacg+a5N7LRE+HjZYpd55v8AB2iIoGkIiIAiKi1FqWCzxOhjIkrHN9VgPsdhd+HWupOTsiFSpGnHFJ5FLrW9OmmFopSSGkdNgZ4jsQ0eHz8Fa6U08LVTek1LAauUf\/G3s8e1eWl9OMpmMudaOOrkHG0E5DM758Vp1bOSSwRMdCjKc+3qa7LoZi7ZqNcWqnG4ijMh68e0f6QtOsvTj0j9IdS7AxT04wfJv\/6K1ChPZeBdw+bnLxf0yCIotxuEFsopKuodhjBsBzceoDvUErmhtRV2cXW601oo3VFQ7uYwc3nsCz0NqumpZGVV4kNPR+1HTM2JHf2eJ38F3ZrfUX6tF8urT0YP2anPIDqPh8+auNQ15t1mmljcRM8dHDgZJeeWO\/mfJWrldlqYn8WLqT7i26+f4RSaYpqeS\/3SamhDKWLEUbcbHfnv\/l7ev3FcaZt5ttjgidjpJB0r8dp6vIYHkijN3kXcNTw01dZvP5nvd7xTWalE9QHniPCxrRniPZnqVBHQXfVEgmuL3UVBnLadmznj89Z9y1ckUcoAkja8A5AcM4Pau0UsKy1OzoupLmfL09yjno7Vpi1y1kNJH0kQ9RzxxOc47AZO\/PsXGj6F1NaPSpW4nrHdK4nmR936nzUbUrpLpd6Gxwn1XO6Wfns0dvlnzwtO1oa0NaAABgAdS621HPcqpxi6rcVlHL13PqIirNhxLKyGJ8sjg1jGlznHqA5lfndUJKuz3G9TO9asqGxRgjcNBzju5Af6VrNX1Xo2nZwDh0xEY37Tv8AVTagpPRdM2i2kcLnSs4tsYdg5+Lir6eXqebxjxNrovq8jW0TOjoadmMcMTRjs2XuiKg9FKysERVl9vUVkoemeOOV54YmfxH8F1Jt2Ryc4wi5S0RF1jKI9N1Dc4MhY0b\/9QP0VPWMdX1disTcmOKFkk4A2Pq\/gD\/N1qFe7ZXfqn9bXSok9Illw2HqjaRnB9w26vFWWhaZ85qrnO90km0LXOOTgAZ+HCtCSjC9zypTlWr4GrXt8ln9TV1NNBVwOgqImyxu5tcMhZx1jvFml6Sx1XSwczSznby6uzfYrUIqFJo9KpRjPN5PqtTMR6x9FkEN3t09I\/f1gMg+\/+6nw6rsk3Kua0jqexzfmFbPjZK3hkY17exwyFClsVpn3kt1PntEYB+CleD2K8FeOkk\/Nex9berU\/HDcqTfkOmbn5qPV6ns1HxB9ayRwHsxevnuyNviuH6RsTySaEAkY9WR4+q9qXTlno\/wB1QRE45yDjPxyucniP\/S+n1KiS73m\/vMFnp3UlMRvVTDBPgfwyfBVEVhhk1TFb+mdVuhHS1cj+TjsSOvuG561uK6sittBLVS7MhZnA2z2DzOAqXR1I\/wBCmuc4JnrXlxJ58IJ+ufgrFK0W1kZqlHFUjGTu9X4Ly8TRoi5ke2KN0jvZYCT4BUHpGa019o1Beqwez0vRtI5Hc\/gPetDVVlNRRdLVTshYTgOe7AJxnHwKoNDRn9Uz1L\/anncc56gB9cqF+kGpxHR0oPMukcPDAHzKuccVSx58KvZcL2nr82aqrrqeio31c8nDEwZJ7ezCzVHSVGq61tyuDDHb4ifR4P4+8+5eUEc2ramKMh0dpoyBvkGZwGPz2A962DWtYwMY0Na0YAAwAFx8nmWK\/EO77q+r9j61oa0NaAABgAdSyQxqrUuQS+2UI25hsjv\/AH8B3qdqS7SsfHZ6FvHV1Y4SQccDT8jjPhzVlZ7ZFaLcyliAyPWe4fed1lcXKr7s7P408C0Wv4XuTkRFWawuJZWQxPlkcGsY0uc49QHMrtZ7WNZJFbGUMDeKaueI2jrxtnHwHmpRV3Yrqz7ODl0PDScLq6rrb7P6z55CyLI3a0f2wPJahRrdRst9vgpIwAImAbdZ6z5nJUlJO7I0KfZ00nrv5hERRLjL6oHpt4tNs9UtdL0kgzvjPZ4B3UvuovtGprJTc+GQyEeYP9JSE+m\/pBleN20dPwg9QOOX\/wBj8Um+0\/pDgB5U1MTgb9R5\/wA3yV6yt4I8yXNifWSXyNOiIqD0ziWVkMT5ZHBrGNLnOPUBzKytmhk1Jd33urZ9lhPBTROPIjG\/56\/BSNU1klVPBYKN37arI6U49lmc\/Qk9yvaGjioKKKlhaGsibgY+J96sXLG+7Mj+NVt\/mP3\/AEVOtI+PTczsZ6N7HeG4H1UHQB\/3fVNzsJQeXXhW+po+l05Wt7I+L3EH6Kn\/AEf\/APA1f\/dHyUl\/yZTNW42L8Pc1qIipPRCIiAIiIDM60kdNBQ22NwD6uoA8uXzIWjhiZBCyGMcLI2hrR2AbBZu5Yk1\/a4njLWwFwHfh\/wCAWnVksopGajzVJy8bfJfsKu1BMYLBXPHPoXN5457fVWKz2tp+i069n+NK1nL\/AFf0qMFeSJ15YaUn4EnSkPQabpGnm5pefMk\/LCodRSxah1DR2qmORE5zZZAOX8WPAD3q1vNxNjsNPRwHFW+NsMTQcubtgn6eKp9CUDn11TXSDIiHRtPFnLjz8dvmrY5XmYajxYOGXhf0NlR0kFBSx01OwMjjGAPqe9Qr5eorRTbDpamQYhhG5ce09yXu9w2anBI6Sok2ihHNx\/BQLJYp3VZu95PS1j92RnlF\/f5eKgl\/qRrnN37Klr9v7ZHppqyyUcbq+4DjuFQS5znblgPV49vuV+iKEm27stp04044YhERcLAsrGDedcPeW5p7Y3hBztx\/+8\/y+SvrtWi3WqoqzzjYeH\/Mdh8SFW6PoXUllbPJky1bulcSeo8vhv5qyOUWzLV56kafq\/TT6l8iIqzUERcTSCGF8pGQxpdjwQGb0p9oul5rXc31HC3PMDJOPl7ksf2vV14rRuI8Qg+eP6Fxo+RtFpiqrZTkCR8hJPMBo\/Ar30TA5tnkqpDl9VM5+e4bfMFXyyxP0PNo8ypLzl\/fM0aiXO4Q2ugkrJ8lrBs0c3E8gFLWQeTq3UDWNObZQni4sHErtsjz+Xiq4xu89DXWqOCtHvPT+8CVpa3zyvkvtwyaqqHqZ5BmBg\/D3eK0q+NaGtDWgAAYAHUvq5KWJ3J0qapxwo8K2nFXQz0xIAmjczJ6sjCzegQG26rYccbZ\/WHXyH91q1lLQz9VazrqEn9nVt6WPA78geWXDyUo5xaKKyw1oT8189DVoiKs1hERAEREBl7y70TWtprJGno3sMPF1ZPEP6wtQq2+2dt6t\/o5kMUjHB8bwOTh2926podTVtnYKa\/UU3E08LaiPBD\/AM9vwVlsSVtTHjVCcsejzuatZfVh9Julot4BPST8TvDIHyypsWr7HIwuNWY8dT43Z+AWau96oa7UbKpk0hgjpzGx0ceTxHi+67H8XwClThJSzRDiq9N07KSd2tyLdLg+63+eSmJlkLugpuEH2eWRjz\/mz1LQyXGHTlDDZ7c30q4uwC1uSA8gZJ+g7FQWLT94qJenps0cZGBO9uHYP8PXy6xjxW0tFgo7QC+MGWocPXnf7Tu3wU6jisjNw0K07ztZvf2Ill08+Co\/Wd1l9Jr375O4j2+f5Cv0RZ3Jt3Z6lOnGmrRCIi4WBERARq+gp7lSupqpnHG4gkAkbjwXuxjY2NYwYa0AAdgXSJc5hV77hERDoUW5Ei11ZBwRA\/8A8SpS86iPpqaWIjPGwtx4hdWpGSumjCmrMehKeljd+2rZ3MAzguHFk\/Qea21BSNoaCClbyiYG885PWsHpSlnuF3p45siG3Bz+Ejk4nl45\/wDFbG9XuC0QYOJKmTaKEHdx5eQV1RZ4UedwkkoOrLJJJfL9kDVF0lHR2agJdWVZDSWneNufrv4DKtLPbIrRbo6WMDIGZHD7z8blVumrPLT9JdLhh9bVniOR+7B3x3E\/gFoFCTSWFGqjFyl2s9XouiCIirNIWW1XmgulsvLWnhif0cpAz6vPHuLlqVGuFFFcaGWkmHqytxnHsnqI8CpRdmU16bqQaWu3me7HtkjbIxwc1wBaR1hdLOaUrZWNmstZtU0JwN\/aZnq8NvIhaNJKzsSpVFUgpBERRLAiIgC+EAjBGQV9RAQ5LRbZn8clBTud2mIb+Pas9pSngqrrdK9kMYh6To4QGDAGTy7NuHktBeav0Gz1VSDhzIjwnP3jsPiQoOkKX0XTsGccUxMhwO3l8AFYm8DMk4xdeKS0u\/wi7REVZrCIiAIiIAiIgCLxjrKaWofTxzxulj9tgcCW+S9kOJp6BERDoVRqG8ttVEWxEOq5vVhj6yScZ8lxe9Rw2vFPAz0mtfs2Fm+D34+XWvGyWOf0k3a7npa6TdrTuIh3d\/yVijbmkZalRyfZ09d30\/ZCoNJVkVJHUQ3Oakq5Yv2wAzlxOd9+obeKsbXpiChqfTKqokrqrqlm+6e0Ak78utXiLjqSZ2HC0o2stAiIoGkIiIAiIgMtqiGW23Glv9K0kxkMnaPvN7\/LI9y0lPURVdOyogeHxyDLXBfZoY6iF8MzA+N4w5rhsQspmo0bX4w+a0VDs55mJ3596sXOrbmSXwJuf+Xr4Pqa9FxFLHNE2WJ4ex4y1zTkELtVmsIiIAiIgM1rSZ0tJTWyHearlGG4J2Hh34+K0MELaenjhZ7MbA0bY2AwsxZ2G+amqby\/LqemPRU+eWcfTJPi4LVqyeSUTLQ55Sq9cl5IIiKs1BERAEREAREQFJd9NU9wm9Mp5H0laNxNGSMnGBn8RuoDLlqa0BsddQCvjzgSwnfzwPDmAtUimp5WeZnlQV8UHhfh7GY\/2ous2G02nKkk7cT+LGf5fquHQ6ru7ejndFbYS7DjH7RHkSfiOa1SLuNLREewlLvzb+n2Ku06fobOOKFrpJj7U0hy7vx2K0RFBtvNmiEIwVoqyCIi4SCIiAIiIAiIgC8aukgrqZ9NUxiSJ4wQV7IhxpNWZj433DRsojnzVWl7vVe0etGT+fA9y1NHWU9fTNqaWQSRv5EfI9i9XsZIwskaHtcMFrhkFZqfTdbbah9Vp+q6IvcC6nefUxvnx+m+6sup65MyqM6Hdzj03Xl1NOiyw1dVUD+ivVqlgOcdJFu07dWdj5EqQNb2dw2M+T93o9\/mudnLoSXFUd5W88jQrOajvTw8Wa2gS1tSOB2D+7BHzx7ua8Xakul1447HbH8I\/wCfMQAPI7Z8z4KwsNhFrElTUydPWzHMkp3x3D6rqjhzkQlUdblp6bv2JdmtjLTbI6Rp4i3Jcc5ySc\/2U5EUG7u5qjFRSitEERFwkEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAfCARgjIK8jS0xdxGniLu3gGURSiU1Nj1AAGAMAL6iKJcgiIgCIiAIiIAiIgCIiA\/9k=",
    "razonSocial": "ILUSTRE MUNICIPALIDAD DE MEJILLONES",
    "nombreTecnico": "DANIEL FUENTELZAR",
    "nombreContacto": "LUIS OSORIO BERRIOS",
    "correoContacto": "losorio@mejillones.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56552557314",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-I1080\",\"id_control\":\"28966\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"TOS-I1081\",\"id_control\":\"28966\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"TOS-I1082\",\"id_control\":\"28966\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"TOS-I1083\",\"id_control\":\"28966\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"TOS-R1150\",\"id_control\":\"28966\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "12:49",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "12:24",
    "horaDespacho": "12:49",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 12:49:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:69020400

[09/06/2026 12:49:29] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('69020400', 'TO3146', 1, 9291721, 0, NOW(), 
				'12:49', '12:24', '12:49', 10, 'insumo', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781023769.png', '', null, 'COMPLETADO','LatLng(lat: 0.0, lng: 0.0)' )
				
[09/06/2026 12:49:29] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200640
[09/06/2026 12:49:29] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200640', 'TOS-I1080', 2)
				
[09/06/2026 12:49:29] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28966 and
				    IDproducto = 'TOS-I1080'
				

09/06/2026 12:49:29 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'TOS-I1080';
                [09/06/2026 12:49:29] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200640', 'TOS-I1081', 2)
				
[09/06/2026 12:49:29] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28966 and
				    IDproducto = 'TOS-I1081'
				

09/06/2026 12:49:29 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'TOS-I1081';
                [09/06/2026 12:49:29] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200640', 'TOS-I1082', 2)
				
[09/06/2026 12:49:29] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28966 and
				    IDproducto = 'TOS-I1082'
				

09/06/2026 12:49:29 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'TOS-I1082';
                [09/06/2026 12:49:29] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200640', 'TOS-I1083', 2)
				
[09/06/2026 12:49:29] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28966 and
				    IDproducto = 'TOS-I1083'
				

09/06/2026 12:49:29 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'TOS-I1083';
                [09/06/2026 12:49:29] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200640', 'TOS-R1150', 2)
				
[09/06/2026 12:49:29] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28966 and
				    IDproducto = 'TOS-R1150'
				

09/06/2026 12:49:29 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'TOS-R1150';
                
09/06/2026 12:49:29 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200640'                    
				WHERE idllamado = 12950			
				TO ENVIO: micorreo@miempresa.cl, losorio@mejillones.cl


09/06/2026 12:49:29 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12950			
				
09/06/2026 12:49:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


09/06/2026 12:49:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:49:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:49:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:32 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:49:32] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:49:32 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:49:32] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:49:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:49:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:49:32 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:49:32] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:49:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:49:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:32 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:49:32] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:49:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:49:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:49:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:49:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:49:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:49:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:49:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:49:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:49:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:49:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:49:39 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:49:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

[09/06/2026 12:49:39] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:49:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:49:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:49:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:49:39 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:49:39 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:49:39 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:49:39] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:49:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

[09/06/2026 12:49:39] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 12:49:39] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:49:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:49:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:49:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:49:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:49:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:49:41 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:49:41] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:49:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:49:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:49:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:49:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:49:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:49:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:49:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:49:41 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:49:41 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:49:41] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 12:49:41] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:49:41 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:49:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[09/06/2026 12:49:41] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:49:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:49:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:49:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:49:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:49:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:49:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:49:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:49:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:49:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:50:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:50:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:50:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:50:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                
=========================================
FECHA: 09/06/2026 12:50:19
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-JP9Jmk8C5h+x_IzZEETHzgoRw42A.0l.ljSpMAnkdviEJL4dXJ_
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "78338181",
    "serieinterna": "EP3171",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "9291721",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "insumo",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12880",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACIAMMDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMCAQf\/xABBEAABAwMCAQoCBQoGAwAAAAABAAIDBAURBiExEhMiQVFhcYGRobHBMkJS0fAUFRYjJDU2Q3OCB2KSssLhcqLx\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QALxEAAgIBAgIIBQUBAAAAAAAAAAECAxEhMRJBBBMiUWFxsdEjMpGh8TNCgcHhU\/\/aAAwDAQACEQMRAD8A\/syIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiLC1PcaiCGG30I\/aq53NtcD9AdZ7uPHx7F1LLwQsmq4uTF11TT0c35HRRmsrHbNZGMgEjbJ6\/ALkjo9XVrRJNcIaMO\/ltaCR6D5rVsdkgstGImBr5nbyS43cezw7lpqfElpFFCqnZrY8eC0\/JLOm1dazypIoblEAc8gdL2wfY\/Bdtt1XQVrxDPmiqDxjmOBnuPn14W4s+62WjvEQbUMxI0Hm5WnDmH5+CcUXuh1VkNa5Z8H7mgimLRca61XRljuzw8OaBTTD63HGT7eSp1GUcMtqsViyERFEtCIiAIiIAiIgCIiAIiIAixrxf326qio6SikrKqQcrkN2AHvv3L5tWpYq2qNBVwupK1ucxv2B7h39ePipcDxkp6+vj4M6m2iIolwREQBTF4PJ1taHP2YWEAnhnf8A69lTqZ1nHJBFQ3SEDl0cwPDtwfTI91Ov5sGbpX6fF3NP6MpkXnDMyogjnjOWSNDmntBGQvRQNO4RFz1tdT26ldU1Ugjjb28SewdpQ42kssn9bBsUVvrGuxNDUgMxxI4\/Fo9VUL+eVeoW3a+U9TJSzSUtMctpmnJcepx88emOtVtp1DS3WV1OGvgqWjJhkGCRtuPVXTg1FGGi+uVsmnvjH8GsiIqTeEREAREQBERAEREAREQExaA2bWt1le0F8bQ1p7BsPgAu3UlkF1pBLAeRWU\/Sie3YnG+M\/DvXFY\/4wvPl8VTqyTakmjHTCNlUoy5t+pj6bvP52oMS9Gqg6EzTxz2+fxythSuoKOWz3FmoaBowDyamMD6QPX5\/HBVJSVUVbSx1MDuVHK3lNK5JLdbFlM5a1z3X3XeeyIigaAuevpGV9BPSP2bKwtz2dhXQiHGk1hk9o+sldQzW2pyKihfyCD9nq9wR6KhUreCbFqenu7QRTVY5qo7Ae30AP9pVSCCMg5BU5r93eZ+jtpOt7x0\/jkYeoNTwWZvMxgTVZGRHnZo7T9yxLZZLhqSdtwvUsgp9yyPOC7uA+qPc+6ov0bt77rNcZ4+ekkIIa\/drdgOHXwWspcaiuzuQdE7Z5tfZWy9zwpKOmoYRDSwMhYOpoxnx7VgatpXU35Ne6VobUUsgDzw5TTsMnx281TLO1BDz9grmYz+pc4eI3+SjF4lktvrTqaXLY7KadtTSxVDBhsrA8eBGUWXpiqZJpyjL3tBDC3BIHAkfJFFrDwTrmpQUu9GlV1lPQ07qiplEcbeJPwWDJru0seWtjqpAPrNYMH1IK854WX\/Vz6ao6VLb2B3Izs9xxse77lTsYyNgZG0Ma0YDWjACniMdynittb4HhLTbOTMt+pbVcpGxQVHJlccCORpaT8itVY9201QXKB3JiZTz8WzRtAIPVnHELx0pcKiqo5qOsOaiifzbznJI3Az37FcaTWYnYWTjNQs57NG8iIoGkIiIAiIgJi07a5uwGwMYOP8ASqdTFq\/jq6\/0h\/xVOpz3M3Rvlfm\/U+JYo54XwysD43gtc08CFNaZnlt1xqrBVOcebJfTlx4t7B5b+qqFOatt55hl4pcsqqMhxLeLm5+XHwykNey+YvTji2O8fTmUaLho7rTVNojuTpGxxFnKeXHZp4Eeuy\/LVeKa8RSS0rZAyN\/Jy9uOV3juUcMuVkG0k9zvREXCZx3S3x3S3S0cuweOi77JHArM0rcJJKaS2VTgaqiPNnfctGw9OHot9SeoWyWK9QX6mGY5SI6lg+t\/9A9QFZDVcJlv+HJWrlo\/L\/CsRecMzKiBk0ZyyRoc09xXoqzVuFy3P91Vf9B\/+0rqWHq6tNLYpI2by1JELGjOTnjw7vipRWWkV2yUa233Gdp3P5ipuVnOHcf\/ACKKgs9F+brRTUhGHRxjlgHPSO7vclFKUtWU1UtQim+RiwONv17PE8dCuiywgY3Az8neyp1OawoZHUsV0pSRUUTg7I625+R39Vt0NXHX0MNXH9GVgcBnOO7y4JLVJinsTlW\/NeT\/ANOhTFiJbq28sacMJ5Th352+JVM5wa0ucQABkk9SmdIYqqm63IDo1FQQ056hk4x\/cFyPys7brbWvF+hToiKBpCIiAIiICYt+I9f3Jh+vAHAnb7H3qnUw3Df8Q34+vS7+g+5U6nPl5Gbo20l4sLhu9xo7bQvlrSCxwLRHxMm3ABeV5vlNZY2GZr3SSg821ozkjH3hZVrslXdKlt2v3TcQDDTn6LB1ZHV4eqRjpl7Cy156uvWX2XmTloo21dzp6G5Onp6ScmWGHOA8nYeGcEZ+9f0eCCKmhZDBG2ONgw1rRgBY+qrXJX25s9MP2qldzkZHEgcQPY+S67FdWXi2R1IwJB0ZW\/ZcPxnzUpviWSno1apm63vyff8Ag0URFUbwvKppoKuB0FRE2WN3FrhkL1RDjSawz5jjZEwRxsaxjeDWjAC+kRDp5zTR08L5pnhkbBlznHYBTFrM2pb4bpPHihoyRSscOLu3x2BPkF7V9Bcb\/d3U1Sx9NbKd2djvOfx6eKoYYY6eFkMLAyNgw1rRsArNIrxMuJXT10ivu\/Y9ERFWaj5kjZLG6ORocx4LXNI2IPEKY09zlnvtXYpHF0JHO05PZ2en+0qpU1qyF9HNR3yFpL6WRrZAOtmf+yP7lZDXs95m6QuHFq\/b6czq1ZXGjscjIz+uqSImAcTnj7ZXXY6EW6zU1NyQHhmX4GOkdysMSx6j1ZC6NzJaOhj5fDOSQD19+P8ASqxJaRUTlXxLJWctl\/YREVZqCIiAIiICYuhFv1pb6w45upYYndueH\/JvuqdTOuGFlvpaxn06eoBB7AR94CpGPEjGvbwcAQpy1imZquzbOPk\/r+D8fDFKQZI2PLeHKaDhfaIoGk47pWyW6gfUxUr6pzMfq2ccdvAqS0\/dIG6mLLex7aWtGZIn\/wAt+\/DH4wVcrzbDEx5e2JjXE5Lg0AlTjJJNYM1tMpzjJSxjwPRERQNIREQBERAEREAREQBeFZSRV1HLSzDLJWlp7u9e6wb3W3W01Ta+ICe3gATQgdJv+bP4ClFNvQrtmoxzJaEzp6C8UtVWRW18LaiLDZoJfr4J3Hgdurit11y1dCS59np3sBx0Hbn\/ANyuO5VUMFdT6otbuehcebqmNOCOrcdR+YHarCKVk0TJY3BzHtDmuHWDwKtnLm0YOj1aOCm1ju2xyZN\/pDfm7O07IT2tJx8E\/SO9jJdpyfA6gXb+yp0VfFHuNXU2f9H9F7EydYSU\/wC8LLV0rc7uxkAdu4C7oNV2WfH7YI3fZlaW+5GFsLOqbBaavPPW+Ak8S1vJJ8xgpmD3Q4L47ST817HdFLHNG2SKRsjHDLXNOQfNfa8KOip7fStpqWPm4mZw3JPE54nde6gzQs413MzUdJ+WWCri62xl48W7\/JfGmKsVmn6V\/Ky5jObd3Fu3wwfNapAIwRkFYOmaKotUlbbpWkxNk5cT8bEHz8NlNaxaM8k43qS2ax\/aN9ERQNIREQBERAEREAREQBERAEREAX45oc0tcAQRgg9a\/UQEXfNOzWxtRV2scqllZiopeOB2jw49o8F7aFuwlpn2yV\/Ti6UWTxaeI8j8VXKN1DYJLXUi92kBnNO5ckY4N7SB2do\/AvjLjXDI86yl0TV1e3NeHgWSLMsd7p71RiWMhszABLF1tP3LTVLTTwzfCcZxUo7BERcJBERAEREAREQBERAEREAREQBERAEREAREQBERAF+EAjBGQURASz9O1Vqv0NbaHYgkfiSI8GtP0h4bbd4CqkRSlJvcprqjW3w8wiIolwREQBERAEREAREQBERAEREAREQBERAEREB\/\/9k=",
    "razonSocial": "CONSORCIO RAB INFINITESPA",
    "nombreTecnico": "DANIEL FUENTELZAR",
    "nombreContacto": "ROCIO  ESPINOZA ORDÓÑEZ",
    "correoContacto": "rocio.espinoza@rabinfinite.cl",
    "correoCliente": "null",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INSUMOS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56956281303",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I1273\",\"id_control\":\"28903\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1274\",\"id_control\":\"28903\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1275\",\"id_control\":\"28903\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1276\",\"id_control\":\"28903\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "12:50",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "12:14",
    "horaDespacho": "12:49",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 12:50:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:78338181

[09/06/2026 12:50:19] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('78338181', 'EP3171', 1, 9291721, 0, NOW(), 
				'12:49', '12:14', '12:50', 10, 'insumo', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781023819.png', '', null, 'COMPLETADO','LatLng(lat: 0.0, lng: 0.0)' )
				
[09/06/2026 12:50:19] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200641
[09/06/2026 12:50:19] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200641', 'EPS-I1273', 1)
				
[09/06/2026 12:50:19] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28903 and
				    IDproducto = 'EPS-I1273'
				

09/06/2026 12:50:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:19 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1273';
                [09/06/2026 12:50:19] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200641', 'EPS-I1274', 1)
				
[09/06/2026 12:50:19] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28903 and
				    IDproducto = 'EPS-I1274'
				

09/06/2026 12:50:19 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1274';
                [09/06/2026 12:50:19] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200641', 'EPS-I1275', 1)
				
[09/06/2026 12:50:19] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28903 and
				    IDproducto = 'EPS-I1275'
				

09/06/2026 12:50:19 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1275';
                [09/06/2026 12:50:19] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200641', 'EPS-I1276', 1)
				
[09/06/2026 12:50:19] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28903 and
				    IDproducto = 'EPS-I1276'
				

09/06/2026 12:50:19 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1276';
                
09/06/2026 12:50:19 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200641'                    
				WHERE idllamado = 12880			
				TO ENVIO: null, rocio.espinoza@rabinfinite.cl


09/06/2026 12:50:19 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12880			
				
09/06/2026 12:50:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


09/06/2026 12:50:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:50:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:22 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:50:22] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:50:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:50:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:50:22 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:50:22] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:50:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:50:22 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:50:22] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:50:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:50:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:50:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:50:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:50:22 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:50:22] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:50:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:50:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:50:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:50:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:50:22 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:50:22] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:50:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:50:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:50:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:27 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:50:27] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:50:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:50:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:27 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:50:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:50:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

[09/06/2026 12:50:27] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:50:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:50:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:50:27 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:50:27] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:50:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:50:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:50:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:50:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:27 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:50:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:50:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

[09/06/2026 12:50:27] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:50:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:50:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:28 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:50:28] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:50:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:50:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:50:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:50:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:50:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:50:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:50:32 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:50:32] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:50:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:50:32 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:50:32] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:50:32 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:50:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[09/06/2026 12:50:32] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:50:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:50:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:33 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:50:33 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:50:33] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 12:50:33] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:50:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:50:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:50:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:50:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:50:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:50:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:50:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:50:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:50:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:50:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:50:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:50:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:50:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:50:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:50:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:50:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:51:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:51:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:51:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            
=========================================
FECHA: 09/06/2026 12:51:10
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-QGBPzCW_R69lMW05uXIHxf10Sc3lSViD8yl+Y.yTNH1XxlfJeMJ
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "78338181",
    "serieinterna": "EP3155",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "9291721",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "insumo",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12881",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAB7AM4DASIAAhEBAxEB\/8QAGwABAQADAQEBAAAAAAAAAAAAAAYDBAUCAQf\/xABCEAABAwMCAwUFBQUECwAAAAABAAIDBAURBiESMUETUWGBkRQiMnGxFSRCodEjUsHh8AcWwuIXMzZDYnOCkqLS8f\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EAC4RAAIBAgUCBQMEAwAAAAAAAAABAgMREiExQVEEcRMiMmHBFCOxQpGh0YHh8P\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAEREAREQBERAEXNq9QWmhmdDUVrGSN+JoBcR6BblNVQVkImppmSxkkcTDkZC7ZrMgpwbsnmZkRFwmEREAXBu+onU9WLdbIfaq482jkz+a3r5cDbLRPVMc1sjRhnEMguPJael7Oy3W5tRJ79VUtD5HnmAd+H9fFTikliZmqSlKapwy3b4RqC26slYJH3aCN\/Psw3bzwF6or3c6G5xW2+xR5m2iqGYAcfHp9FSqZ10xn2PDMR78c7eEjnuDn6D0UovE7NFdWm6MHUjJ5cu9ymReWEuY0uGCQMhelUbQiIgCIiAIiIAiIgCIiAIiIAuTqS5PttokfCfvEv7OIA75PUDrhdZTGovvWpLNQk5YHmVzcc9\/wDKVOCvLMo6iTjTdtXl+5tWfTFJS0Lfb6eKpq5BmV8g49+4Z7lzqpj9I3VlVTh5tdU7EsY3Ebu8eXL0VctW50Edyt01HJykbgH909D6rqm75kJ9PFQ+3k1p\/wB7mwx7ZI2yMcHNcAWkdQvSnNH18jqWW1VW1RROLcHnw5\/gdvRUajJYXYupVFUgpIIiKJYcXV0Dp9OVPDn3MPIBxkArcstWyts9LOwg5iAOOjgMEeoW49jZI3RvaHNcCHA9QpWwy\/YN6qbFUktjlf2lK93I56eePUFWLONuDLN+HWUno8v87FYpbU7vtC9Wyzs94dp2swxnA8fLi9VSVNRHSU0tTM7hjiaXOPgFL6ffG11VqO7OZA6ocREXn8O3Lv5ADG+xSGXmOdS1K1PnXsitRTcusoJJjDbKKorn7btaQPnyz+QXkX7UDiCNPvDc75cc4XPDkS+qpbO\/ZNlMinqTVTRUspLrRyUEr9g5\/wABPz7vFUKi4taltOpGorxYWOaeGmiMs8rIo283POAFoXy8x2akD+HtZ5DiGL987fTIXJo9NVN0kFbqGd8riMspg4gMz0OOXyHqpKOV2QnValggrv8AhdzpSapskRcHV7DwnhJaxzhn5gLNR3+118jY6asY57vhaQWk+oCR2C0RABttpjgY96MO+q17lpqgqqZ\/s1NFTVAGY3xN4MOG4zjnuu+QjfqFnk\/3Oyi4ulK+S4WON8pJfE4xlxzvjHfz5rtKDVnYupzU4qS3CIi4TCIiAKYl++f2gxM2LaOnyfAkH\/2Cp1MWz3teXRx3IhAB8Pc\/RThv2M3UZuC91\/ZToiKBpJXU8ElruNNqClactcGVAH4hyGfLb0VNBNHUwRzxO4o5GhzT3grxWUkVdRy0swyyVpafDxXB0jUyU4qbJVH9vRvJbnqwnp57\/wDUFZ6o9jIvtVrbS\/P+ylREVZrC5GorL9sUI7IhlVCeKF\/Lfuz4rrouptO6IThGcXGWjI8z1eqLG+2kiG4U7x2zHtxxY6+Hj4+C2KPRcZeyS61b6wsaGtjGWsaB078eix6koqu33Nt5tkbnPexzJmtBPTAO39ZAXV0xbZbXZY4J2BkznOfI0Y2Oe\/rsArnK0bxZghTU6uGpG7W+3sdOGCGmiEUETIo28msGAFkRFQeklY517tcd1tskLgO1aC6J+N2uHJamka811hiDnEvgPZOz4cvyIXcUxpnNJfLxbsYaJe1YNtgSf4FqsWcWjLNYa0ZLe6+UeI4zd9cyvnI7K2tHZsGd3dD6knyCqlMWn9jre6xO2MjA9ueo2\/VU6T1Q6bST3uwta4VTaG31FU44EUZdyzvjZbKm9bTv+y4aKLd9XM1mO8Df68KjFXkkW1p4KbkZdF0pp9PRucMGd7pP4D6LvrHTwtpqaKBnwxMDG\/IDCyJJ3bZ2lDBBR4CIiiWBERAFMWr\/AG6uv\/KH+FU6mLXtru6g7ExA4\/7VOGjM1f1Q7\/DKdERQNIUpqkOtNzo75TuAeHdnKzP+sH8dsj0WxcNUufP7HZKc1tT1eB7jf68gsdNpN9XIau+1T6qd7ccDThrM\/wBdMBWxWHORhrT8ZYKSu+dkUVNUR1dNHUQu4o5WhzTjGQVlUxpyaa1XCawVkmS0l9MT+JvP+fkVTqElZmmjU8SF3rv3CIiiWhERAEREAUoyQ02vK90ePfpgSDy\/AqtS9uaKjXd0lIDmshDMHff3f0Kshv2MvUZuCXPwxfR9maot11AxHN+xlxsO7JPyP\/iqhcfVNEK6wzMDHPfHiRgbzBH8iU0vdG3SzRFzszQgRyjO+RyPmPzyjzinwIPBWlDnNfJ2FMXn7zrS0Ux3EbTLj1P+BU6magn\/AEhUu2wpjg48HLkNX2O9T6Yrlr8lMiIoGkIiIAiIgCl3H2X+0NpIwKunxnvwP8iqFL6zZ7K633aMe\/Tzhp25jmPofVWU9bcmbqsoKfDTKhfCARgjIKNIc0OG4IyF9VZpNait9JboeypIGRNO54RuT4rZRE1OJJKyJ7VdBM6GG60Y+9ULuPbq3mfnj6ZXVtVyhu1BHVw7B2zmnm13ULbIBGCMgqVoGNsGr5KBpLaWuZxxM6Nd3fk4eisXmjbgzT+1VUlpLJ99mVaIirNQREQBERAfHODWlziAAMknopjSOa2vut1PwzTcLPlufoWrPqq7OhpxbKImStqjw8DM8TWnrt1\/murabey12yGjZgljfecPxOPM+qs0j3MrfiV0lpH8s3FGVjXaS1C2siafs+sOJGgZ4T19OY8wrNad1tsV2t8lJNtxDLXfuu6FchKzz0J16bnG8fUs0bTHtkjbIxwc1wBaR1CnNVUk8NRSXukZxyUhxI0Zy5vMcunMea86QuUgbLZaw4qaRxDATzaNseOD+Sp0zhIisPUUuPho0rXdaW70gqKZ23JzD8TD3FbqnLjpd7Kr7Qscwo6sHJadmEddsbfLkvNv1a1j\/ZL1C6iqWjBc4ENdtz8OS643zicjXcHhrZPnZ\/0UqLxFLHNG2SKRsjHDLXNOQfNe1Wagi+ZBzg8ua+oAuJrCDt9N1Bxkxlrx5EZ\/IldtYK2nFXQz0x\/3sbmeowpRdmmV1Y46co8oxWio9qs9JPnJfC3JznfG\/wCa3FPaKqe2sDYTnip5HMIPzz\/FUKSVpNHKMsdOMvYIiKJaFzLhaDXXShrROYxSOJc0D4+Rx+S6aLqbWhGUFNWYREXCQREQBcS7ano6Dip4HiprCeBkTN8O5Ycem\/Tmu2tSC10NNUvqYaWNkzyS54bvvzUo23K6im1aDscrTllmpnyXO4kvrqjcg79mD0+f\/wAVAiLkm5O7FOnGnHCgiIuFhE6spKi2XqG+Urfdy3iIHJw7\/AjZV1BXQXGjjqqd4cx4z8j1B8VllijnidFMxskbxhzXDIIUFSTyaR1NJTSl\/skhwe4sPwu8v1Vy88bbowSf01TF+mTz9mfoC162gpLhD2NXAyZnTiG4+R5jyWcEEZByCvqp0NzSasyYOio4nO9hulXTNJzwg5+mEOl7qTwf3kquzPTDs\/L4v67lTop+JIz\/AEtHZfyzl2ewwWd8srJpp5psdo+V2c4XURFFtt3ZfCEYLDFZBERcJEtZeG3avudv4gGTgSsHjzwPJx9FUrWfQU0lfHXuiBqI2cDX9w3\/AFPqtlSk7u5TRpumnHa7sERFEuCIiAIiIAiIgCIiAIiIAiIgC42pbI28W4hgAqYQXROxz\/4fNdlF1Np3RCcI1IuMtGTWjbs+ppHW+qcRUUpwA7Ylvd8xy9FSrCyjpo6l9SyCNs0nxSBo4j5rMuyabuiNGEoQUZO9giIoloREQBERAEREAREQBERAEREAREQBERAEREB\/\/9k=",
    "razonSocial": "CONSORCIO RAB INFINITESPA",
    "nombreTecnico": "DANIEL FUENTELZAR",
    "nombreContacto": "ROCIO ESPINOZA ORDÓÑEZ",
    "correoContacto": "rocio.espinoza@rabinfinite.cl",
    "correoCliente": "null",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INSUMOS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56956281303",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I1240\",\"id_control\":\"28904\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1241\",\"id_control\":\"28904\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1242\",\"id_control\":\"128904\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1243\",\"id_control\":\"28904\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "12:51",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "12:14",
    "horaDespacho": "12:50",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 12:51:10 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:78338181

[09/06/2026 12:51:10] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('78338181', 'EP3155', 1, 9291721, 0, NOW(), 
				'12:50', '12:14', '12:51', 10, 'insumo', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781023870.png', '', null, 'COMPLETADO','LatLng(lat: 0.0, lng: 0.0)' )
				
[09/06/2026 12:51:10] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200642
[09/06/2026 12:51:10] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200642', 'EPS-I1240', 1)
				
[09/06/2026 12:51:10] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28904 and
				    IDproducto = 'EPS-I1240'
				

09/06/2026 12:51:10 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1240';
                
09/06/2026 12:51:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                
[09/06/2026 12:51:10] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200642', 'EPS-I1241', 1)
				
[09/06/2026 12:51:10] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28904 and
				    IDproducto = 'EPS-I1241'
				

09/06/2026 12:51:10 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1241';
                [09/06/2026 12:51:10] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200642', 'EPS-I1242', 1)
				
[09/06/2026 12:51:10] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 128904 and
				    IDproducto = 'EPS-I1242'
				

09/06/2026 12:51:10 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1242';
                [09/06/2026 12:51:10] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200642', 'EPS-I1243', 1)
				
[09/06/2026 12:51:10] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28904 and
				    IDproducto = 'EPS-I1243'
				

09/06/2026 12:51:10 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1243';
                
09/06/2026 12:51:10 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200642'                    
				WHERE idllamado = 12881			
				TO ENVIO: null, rocio.espinoza@rabinfinite.cl


09/06/2026 12:51:11 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12881			
				
09/06/2026 12:51:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


09/06/2026 12:51:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:51:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:13 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:51:13] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:51:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:51:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:51:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:13 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:51:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

[09/06/2026 12:51:13] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:13 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:51:13] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:51:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:51:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:13 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:51:13] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:51:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:51:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:14 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:51:14] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:51:14 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:51:14] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:51:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:51:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:51:17 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:51:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

[09/06/2026 12:51:17] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:51:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:51:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:51:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:51:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:17 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:51:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

[09/06/2026 12:51:17] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:51:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:17 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:51:17] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:17 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:51:17] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:51:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:17 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:51:17] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:51:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:18 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:51:18] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:51:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:51:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:51:19 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:51:19 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:51:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:20 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:51:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:20 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 12:51:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
[09/06/2026 12:51:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:20 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:51:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:51:20 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 12:51:20 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

[09/06/2026 12:51:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:20 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:51:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:51:20 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:51:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:51:20 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:51:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:51:20 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 12:51:20 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

[09/06/2026 12:51:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:20 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 12:51:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

[09/06/2026 12:51:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:51:20 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:51:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:20 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:51:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:51:20 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:51:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:51:20 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:51:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:51:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:51:20 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:51:20 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:51:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:51:20 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:51:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:51:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:51:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:51:21 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:51:21] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:51:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:51:21 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:51:21] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:51:21 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:51:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

[09/06/2026 12:51:21] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:51:21 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:51:21] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:21 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:51:21] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:51:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:51:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:51:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:51:22 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:51:22] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:51:25 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:51:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:51:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:51:25 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:51:25 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:51:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:51:25 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:51:25 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 12:51:25 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:51:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 12:51:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:51:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:25 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:51:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:51:25 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 12:51:25 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

[09/06/2026 12:51:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:51:25 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:51:25 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:51:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:25 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 12:51:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[09/06/2026 12:51:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:51:25 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:51:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:51:25 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:51:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:25 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:51:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:26 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:51:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:26 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:51:26 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:51:26 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:51:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:26 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:51:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:26 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:51:26 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:51:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:27 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:51:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:51:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:51:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:51:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:51:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:51:27 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:51:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:27 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:51:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:51:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:51:27 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:51:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:27 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 12:51:27 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 12:51:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:51:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

[09/06/2026 12:51:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 12:51:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:51:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:51:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:51:27 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 12:51:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

[09/06/2026 12:51:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:51:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:51:30 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:51:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:51:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:51:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:30 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 12:51:30 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:51:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 12:51:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:51:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:51:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:51:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:51:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:51:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:51:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:51:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:51:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:51:31 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:51:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:51:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:31 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:51:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:31 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 12:51:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

[09/06/2026 12:51:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:31 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 12:51:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

[09/06/2026 12:51:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:51:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:51:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:51:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:51:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:51:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:51:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:51:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:51:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:51:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:51:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:51:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:51:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:51:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:52:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:52:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:52:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                
=========================================
FECHA: 09/06/2026 12:52:17
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-QJRHGCUJuOq8lEog-E.22HlPPKcmAcE.3Jm0bQta3q+EuXf98Ca
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76318598",
    "serieinterna": "TO2789",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "9291721",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "insumo",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12932",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAByAMsDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xAA4EAABBAEBBQQIBQMFAAAAAAAAAQIDBAURBhIhMUETUWGBFCIycZGx0eEVI0KhwUNS8AckNILS\/8QAGAEBAAMBAAAAAAAAAAAAAAAAAAECAwT\/xAAuEQACAQMCBAQEBwAAAAAAAAAAAQIDETESIRMiQVEzccHwMmHR4QQUI0KRobH\/2gAMAwEAAhEDEQA\/AP2YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAh5TIRYvHS25V4MT1U56qvBEJhlM6n47tDUw0b9YIPzbO70++nD\/sWgrvcxr1HCHLl7LzLzC2rN3FQ2rTEY+VFcjU\/t1XT9tCefGtRrUa1ERETRETofSHuzSKaik3cAAgsAAAAAAAAAAAAAAAAAAAAAACnye0+OxsnYb6z2Nd3souKovivT3cyUm8FJzjBXk7FwCLjbj79COy+u+u5+usT+bdFVP41JRD2LJqSugAASQ8rfbjMZPcciL2bfVReruSJ8Sq2RoSxUX5G0qvs3l31c7nu9Pjz807jjtg91qTH4iNeNqZFfp0ROH8qvkaVjGxsaxiaNaiIidyGmIeZyrnrt9I\/6\/segAZnUAAAAAAAAAAAAAAAAAAAAADjat16UDp7MrYo283OU83btfH1X2bMiMjYnFe\/wTxMzSpWtq7aZHJtdHj2L+RX1VN7x+\/X3F4xvu8GFWq4tQgryfu7Pr8hl9ppXQ4tFp0EVUdZdwc\/3fRPNS5xOz9DDtR0Ee9Npo6Z\/Fy\/TyLGKKOCJsULGxxsTRrWpoiIew59FgiFBJ65u8veAACh0AA52Jkr1pZlTVI2K5U9yagN23M3RRcjt1bsrxjox9m3rovL\/ANmoM3sTA78MnvScZLcyuVdOaJ9940hepm3Y5vwq\/T1Prv8AyAD45yNarnKiIiaqq9Ch0hzka1XOVERE1VV6HiGaKxE2aGRskbk1a5q6opl7duztVcdj8e9Y8dGv59hP1+CGlp1IaFSOrXZuxRpo1CzjZb5MadXiSelcvfu\/kdwAVNgAQsnlqmJg7Wy\/i5dGMbxc5fBCUr4Kykoq7wTQQsTk4svQZbha5rXKqK13NFQmhq2xMZKSTWAACCQAAAeXvbHG6R7ka1qKrlXoh6MttLanyeQi2dou3XyaPnk14Nboq6L5aL8C0Y6mZVanDjfr08zhDG\/bDLrYla9MVWXSNqrp2jvH\/OXA16IiJoiaIhxp1IaFSOrXZuxRpo1DuJSvjBFGloV5bt5APKSMV26j2q7u14noqbAAAAh5dqvw15rebq8iJx0\/SpMPioipoqaopK2ZEldNFJsc9rtmayNciqxXo5O5d9V+SoXhmn7MXaNh8mDyS1Y5F3nQyJvNRfDnw96Hl2F2mtt3LedZG3r2DdF\/ZGmjSbvc5Kc6lOCg4NtbdLFxks1QxTNbc6NdpqkbeLl8jP6Zfa72taGMXp+qVP5+XvLTH7J42jL28iPtzc9+fR2i+CF2RqUfhLOnUq+Jsuy9WR6VKvj6rK1aNGRsTgnf4r4kgAzOlJJWQAMnkb1zaLKSYfGS9jVi\/wCRYTjr4fbr7i0Y3M6tVU13bwiXkdqUSytDEQLduaqmqew36\/LxPGO2ZfPM+\/nX+k2pOHZo71Gp3cOfyLbF4mpiKyQ1o+P6pF9p6+Kk4s5JbRMo0XN6qrv8ui+pGoUIMbUZVrN3Y2a6a8117ySAZ5OlJJWQAAJAAABkkw20FHJ2rFCSu70lyqssq6rpqunPy6fI1oLRk4mVSkqlrvHYy64PaO7qtzO9jqnswIv8bp9TYmGTRbOStzL14omqd3U04J4kuhn+VpfuV\/NszEuxOJhge\/0i1HusVVk304Jpx14ErY+1Zt4NHWXufuSKyNzk0VWIiae\/qRc3dnzVtcDjU1aq\/wC6n6MRF4p8U8y\/o04sfRiqQp6kTdE15r3r5rxLSb082TKlCHFvTVkv7f2JAByswJarS13PexJGq1XMXRya9ymR2vB1BxqVkqVIq6SPkSNqN35F1cvvOwCxuAACQAAAAACn2pyC47BTPYuj5fymL3Kv2RTrs\/i2YrEwwo1Elc1HSu00VXL9OXkVW1C+l5rEY1q670m\/Iif26p\/CONQaPaKXc5Yc9eUu23qwADM6gAAAAAAAAAQ33Jm5WOmlKRYXxq5bKey1e5SYCSGm8MFZtBPfgxTvw2J8liRyMRWN1ViLzX\/O8swE7O5E46otXsVmCwseGqKze7SxLo6aRV9p304qWYAbbd2IQUIqMcAAEFgAAAAAAAAAAADMVWrb\/wBQLcjk9WpAjW8Oqon1cacyc9iLZ\/bKW1aRyV70Xqva3Xddw14Jx6fuhLt7a4mBi+jvktSckaxipqvvX7msouVrHDSq06akpuzuzQlPktqMZjVdGsvbzpw7KH1l18V5J8yqdBtDtIuszlxdF39P9bk8eSr56J4Fzi9ncdiUR0EO\/Kn9WTi7y7vIjTGOTTiVanhqy7v0X1Kz0\/aTKvRtSkmPhdr+ZN7XgvH39E7yww2Dfi5JZ5701ueZER7n8vhxLcEOW1kXjQSlqk2376AAFDcAAAAAAAAAAAAAAAAAAAAAAAAAAA5zQxWI+zmiZKxV13XtRU+CnClRp1o2PgqQROVqauZGjV5eABovhZyVPGiSwAZnWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf\/2Q==",
    "razonSocial": "SOCIEDAD DE INVERSIONES SANTA LAURA SPA",
    "nombreTecnico": "DANIEL FUENTELZAR",
    "nombreContacto": "RAQUEL SUAREZ ROBLES",
    "correoContacto": "raquel.suarez@santalauraspa.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56921995553",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-I895\",\"id_control\":\"28957\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-I896\",\"id_control\":\"28957\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-I897\",\"id_control\":\"128957\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-I898\",\"id_control\":\"28957\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-R956\",\"id_control\":\"128957\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "12:52",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "12:14",
    "horaDespacho": "12:51",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 12:52:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76318598

[09/06/2026 12:52:17] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76318598', 'TO2789', 2, 9291721, 0, NOW(), 
				'12:51', '12:14', '12:52', 10, 'insumo', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781023937.png', '', null, 'COMPLETADO','LatLng(lat: 0.0, lng: 0.0)' )
				
[09/06/2026 12:52:17] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200643
[09/06/2026 12:52:17] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200643', 'TOS-I895', 1)
				
[09/06/2026 12:52:17] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28957 and
				    IDproducto = 'TOS-I895'
				

09/06/2026 12:52:17 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-I895';
                [09/06/2026 12:52:17] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200643', 'TOS-I896', 1)
				
[09/06/2026 12:52:17] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28957 and
				    IDproducto = 'TOS-I896'
				

09/06/2026 12:52:17 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-I896';
                [09/06/2026 12:52:17] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200643', 'TOS-I897', 1)
				
[09/06/2026 12:52:17] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 128957 and
				    IDproducto = 'TOS-I897'
				

09/06/2026 12:52:17 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-I897';
                
09/06/2026 12:52:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            
[09/06/2026 12:52:17] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200643', 'TOS-I898', 1)
				
[09/06/2026 12:52:17] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28957 and
				    IDproducto = 'TOS-I898'
				

09/06/2026 12:52:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:17 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-I898';
                [09/06/2026 12:52:17] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200643', 'TOS-R956', 1)
				
[09/06/2026 12:52:17] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 128957 and
				    IDproducto = 'TOS-R956'
				

09/06/2026 12:52:17 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-R956';
                
09/06/2026 12:52:17 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200643'                    
				WHERE idllamado = 12932			
				TO ENVIO: micorreo@miempresa.cl, raquel.suarez@santalauraspa.cl


09/06/2026 12:52:18 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12932			
				
09/06/2026 12:52:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


09/06/2026 12:52:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:52:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:20 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:52:20] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:52:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:52:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:52:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:52:20 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:52:20] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:52:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:52:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:52:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:52:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:52:20 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:52:20] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:52:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:52:20 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:52:20] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:52:20 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:52:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[09/06/2026 12:52:20] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:52:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:52:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:52:20 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:52:20] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:52:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:52:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:52:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:52:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:52:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:52:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:21 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:52:21] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:52:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:52:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:52:22 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:52:22] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:52:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:52:22 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:52:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

[09/06/2026 12:52:22] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:52:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:52:22 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:52:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

[09/06/2026 12:52:22] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:52:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:52:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:52:22 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:52:22] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:52:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:52:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:52:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:52:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:52:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:52:23 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:52:23] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:52:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:52:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:52:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:23 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:52:23] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:52:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:52:23 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:52:23] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:52:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:52:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:52:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:24 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:52:24] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:52:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:52:24 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:52:24 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:52:24] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 12:52:24] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:52:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:52:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:52:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:52:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:52:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:52:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:52:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:52:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:52:25 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:52:25] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:52:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:52:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:52:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:52:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:52:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:52:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:25 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:52:25] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:52:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:52:25 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:52:25] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:52:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:52:25 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:52:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

[09/06/2026 12:52:25] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:52:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:52:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:52:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:52:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:52:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:52:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:52:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:52:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:52:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:52:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:52:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:52:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:52:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:52:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:52:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:52:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:53:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:53:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                
=========================================
FECHA: 09/06/2026 12:53:03
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-_WSApVju-0tF8Mt2k_sj0fRywxR3GJKvFpJheNp-HXTqUDA9mmC
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "EP2775",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "Ecora",
    "ciudadmaquina": "Antofagasta",
    "departamentomaquina": "departamento máquina",
    "rutTecnico": "19969062",
    "contador": "18399",
    "contadorColor": "44810",
    "contadorScanner": "0",
    "detalle": "retiro maquina \nfirmado por Marcela Mondaca",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12937",
    "observacion": "retiro maquina",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAB6AQgDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMCAQf\/xABCEAABAwMBAwkEBwYFBQAAAAABAAIDBAURBhIhMRMiQVFhcYGRoRQyscEHFSRCosLRIzPS4fDxQ1JikrJHY3KChP\/EABkBAQADAQEAAAAAAAAAAAAAAAABAgMEBf\/EADARAAICAQIDBgQGAwAAAAAAAAABAgMRITEEEkEiMlFhcZETscHhIzNCgaHwFHLR\/9oADAMBAAIRAxEAPwD+zIi8aqY09JNOBkxxufjuGUIbwsnsiydNV9Tc7O2qqiDI97gNkYGAcLWUtYeCsJqcVJdQsbVF3ks9r5SAgTyvDIyRnHSTjuHqtlfzvWlx9vuXJRHagpOYXA7i87z8MeBV6480jn4y34VTa3Za2SpqKyz01TUhokkZk7IOMdHHsXevKlhFNSQwDGImNYMdgwvVUe50wTUUmERFBYIiwdQ3mqt1bQ0tG0OfUuIdluTjcBgde\/0UpNvCM7LFXHmkbyIig0CIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiALH1VO6DTlWWnBe0Mz2EgH0ythYGtHBum5gfvPYB5q0O8jHiHimT8me2kojDpqkB4uDnebjj0WyuOzxiKzUTB0U7P+IXW5wa0ucQABkk9CSeZMmpctcV5IzdQXRlqtM0xcBK5pbE3OCXH9OPgpB1tMUVloZGHl62fl5znfjIx+ElatEx2qr6bhKHfV1G7FOxwxtO3fpnyC9pvtP0hwA8KamJwN\/QeP+74LWPZ0OC38ZqfRtJe+rKdcdxulJaoBNVybDXO2RgZJ8F2KVfCy863mhnBfT0UONnPNcSAMH\/cfJZRSe53XTcElHdvBSUlXDXUkdVTv24pBlpXsprRT3spKyicctpqgtbnjv\/t8VSpJYeCabPiVqTCkIZxe9eB8ZPIUDCBkcSNx3Hhznei09T3V1FSNo6YB1ZWcyJuM46D478D+Sx9CUjo6uvlLcBmIt5yc53\/BaRWIuRy3Wc90Kl45fzLRERYneEREAREQBERAEREAREQBERAEREAREQBERAEREAUn9IEhFtpYsjDpi7HcD+qrFL6oYKm+2SmLA9vKlz2kZBbtNzkeBWlfeOXi9aWl1x8zZsdQyqsdHLGdxha09hAwfUFYuoLp9ZzNsVsdyksrwJ5GjLWNB3j9fLpXy3S93pxLR0l3EVBI4uxs88Z4jy6iM9S27TZqOzU\/J0zOe4DlJD7zz\/XQp7MXncolbZFVtYXV\/wDD3t9FFbqGKkhHNibjOPePST3lYFjPtWsrxVYJ5MCLPVggfkVQpfQ\/7Wmr6vB\/bVJ492fzKI7Nl7EviVwW2v8AC+5UKasQ5LVV5jkwJHuD2g5zs54js3hUqwrvZqt9wjulplZDVAbMgeN0g4eeN2\/s4KItaplr4vszSzhnNpYn65vzNwa2p3AD\/U9d971DS2eIt2hLVEcyEHf2E9QUtY23+qq659C6KAzz\/aZTg7By47gc9Z9N6p7VpymoJTVVDzV1jjkzSDOD2Z4d60moqWWcvDzslUowWN9X6vbxM+3WqeOKbUN2L31wjdIyMjdEADjd19nR3ro0RTiHTzZMb5pHPz3HZ+S6tUzCHTdY4\/eYGjf1kD5r20\/CYLBQsPHkWu4Y47\/mquTccmsK4wuUV0Wf3b+xooiLI7QiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCl6zNV9IFHGc7NPAXY7cOOfUeSqFMWnNRri61B3iKMRjpx7o\/KVeHV+RzcRq4R8Wv41KdERUOk5blMKe11Ux+5C93HHAFZei4eS05C4\/4r3P9cfJemrp+Q03U44ybLBu6yM+mV22aD2azUcPS2Fud\/TjJ9VfaBzb8R6L5v7HaiLxqpDFSTSA4LI3Oz1YCodDeFkntDftLfWVHTJUn4A\/NU6nNDMDdP5H35nE+g+So1ezvM5+FX4MSb1zIW2SOJoy6WdrR5E\/oqCGIQQRxN4RtDR4DCnNcAmiogBkmqHwKp0fcQr\/Pn+31CIiodIREQBERAEREAREQBFP2+5VsOpaq23GTaZJzqZxAAIG\/AwN+4+ioFLWDOuxTWUERZFRqW3Ut0Fvle9shwC8tw1p38Se4eYRJvYmU4w7zwa6IiguEREARcxuNCH7BrKcOBxjlW5z5roBBGQcgoQmnsfqIiEhS+ihyzblXZJ9oqeJ6cZP5lu3Wf2a01c+cFkLiO\/G71Wdo6DkdNwEjBlLnnzIHoArrSDOaet8V4Jv6G4iIqHSTOuXOda6amYefNUNAHQRg\/MhUjGCNjWN4NAAU1ffterrPRZ3R5mI8c\/kVOry0ikc1Wts5ei9l9wuG9SCKyVzycYp34PbsnHqu5Yurp+Q03U44ybLBu6yM+mVEVmSNLpctcn5MaRjMemaTLcF207zccemFtLhssPs9loosYIgZnvIyfVdySeZMUrlrivJExrICSa1QYy59RwPVuz8VTqYvf2nWVnps55MGXB4DeT+RU6mXdSM6dbbH5peyCIiodIReNPWU1UZGwTskMTtl4a7JaeorgvN7FqkpIWw8tLVShgYDjdwJ8yFKTbwUlZGMeZvQ1URFBcIvnaaHBpcNo8Bnes+\/3T6otMtU3Z5XIbGHcC4\/yyfBSll4KymoRcnsjSRc9vlmnt9PLUACV8bXPDRuyQuhQSnlZJrWkEUdDFcmvMVVTyNET28T04+f91t22uZcrfDVsGBI0EjqPSFj64Y5+ni4cGStce7ePmuPSb5Lfc6m0udtQvYJ4XEjgQPiCOHUtsZrz4HDz8nFNY0ePfUrlB0tGLjZr847pBUGXaHTs5O\/r6fNWdwfVx0Mr6GJktSAOTY87ic946O1RFiqb\/BLXQUFDTzP5UmdkjhzXbxj3hu49aVrRsji2ueMWn16eRW6drvrGx00xcHSBuxJ\/wCQ3b\/j4rTUrZJL1bZIqF1ijip3SZe6OQkNyd5yXO4fJVSpNYeh08PNyrWd1ufEsrIYnyyODWMaXOcegDiVKPluWrZ3R0shpLS04dJwdL1jt7uHXldOqKiWpraGyQyFoq3ZmwAeZnt7ifBb9JSQ0NJHS07NiKMYaFK7Kz1M5Zum4fpW\/m\/D0McaMsoH7mUu\/wA\/KuznrXrQ0VNpmimdNXSOpgcsEn3BxxgcTnO\/C2VKVzzqi9C3QOPsFIdqoe0kbTs4xw7N3iUTct3oLIV1YcIrm6FLSVcFdTtqKaVskbuBafRFP6F5lqqYScujqnDB6Oa3o8CirJYeDambsrUn1PfWlS6HT742Z2p5Gx7uOOPyx4rXt9KKK309M0Y5KNrfEDesDVn2i5Wejbvc+o2j2DI3\/HyVOpekUZ163zfhhfUIiKh0kxH9p+kOUggimpscewfxKnUvpYGpvV4r3DBdLsN3jhkn4BqqFezfBzcNrBy8W2FNa5eXWqnpme\/PUNA8j8yFSqX1CBWaos9CRkMJlcOsZz+QpX3sjivymvHC92UzGCNjWN4NAAX0iKh0kxKOU+kOEk\/uqY4Hgf4lTqY\/6if\/ADfJU6vPp6HNw\/6\/9mF51Ewp6aWYjIjYXEdwyvRctyBNrqwBkmB\/\/Eqq3N5PCbMbREGxZpKhztp9RM5xd143fHPmvLIumvcbzFboe0Da\/u708\/rTtbFbNGtqqg4bGZOaTguO0cAdpXro+ifHQzXGcHl65\/KEk\/d4j1JK1ejkzgrXNGqter\/vqUKIua4VfsNBNVcm6Tk2F2y3pWO56DaSyzAuLms+kG3ve4Na2lcSScADEi8mPGq9RNe1xNtoTkcRyjuvz9B2rHdLPq3UVNts9ma6PZJY7OGDJO\/rOSPFXtFRU9vpWU1NGGRsG4dfae1by7KXjg82lO+Usd3OfXY6ERFgemc9bRU9wpX0tVHtxPxkZI4HI3hT8sbKfX1DFC0BnsmCB0ABwHwCp3ODWlziAAMknoUxY3C56puN0aS+GNoiicNzT\/WM+PctIbM5b0nKCW7a9lqVCmLhQ19ovct4ttMKlk7dmWFoOc8Sfw5z24wqdFWMsGtlasXg0eVNJJLTRSSxcjI9gc6POdgkcMr1RFU0WxMX131ZqShu8rHOpmxuY8tjyWcRkn\/2HqtKXU1lii5Q3CJw6mZcfIb1pSxRzRujljbIxww5rhkHwXA3T1oZIJBQRbQOd4JGe7h0rTMWtTnddsZN1tYeupiy3K5ao5SktcTqWjIxJUSDBd2ePZnwSDT+obZtw2q400dPnLeUaC49\/MPxVU1rWNDWNDWjgAMAL6TnxoloV\/xsvmnJ58diVtFi1Dba4ymvpeRml252gF23145ox4EIqpFWUnJ5ZtVTGtYWfcmJwKr6QoGuGRTU+ccd+Dx6ve9AqdY1HaaiHU9bdJXRmOeMMZsk5Hu8d3+lbKmb2KURa5m+rYXy5wYwuPADK+ly3SUQ2qrlP3IHn8JVUbyeE2YegwfqaeR3vPqXHPXzW\/zVMsLRkexpqB3+dz3fiI+S3VazvMw4VYpj6BTFBmq17XzH3aeEMb380fxKnUxptu3qO+ylwLmzbO7O4bTv4QkdmyL9Z1x8\/kmU6IiodJMVH7L6RKX\/AL1Mfg7+FU6mL6fYtWWi4EEtfmA9mcjP4\/RU6vPZM5qNJTXn80gvxwDmlp3gjBX6iodJOQ6MpI6ljn1M0lPG4uZTn3QT\/Q8lRAADAGAF+orOTe5nXVCvurAXxLFHNE6KVgex4w5rhkEL7RVNDKtmnaG01T56bby5oaGvOdnrx071qoiltvcpCEYLEVhBeFVW0tDEZaqdkTB0uP8AWV7rIqtMWytuElbUxvkkkxtNLzs7sfoix1Isc0uwtfMyai61+pZn0VnYY6PGzNO\/mlw6QDvxu7MqjttvgtdCykpxzWcXEDLj1le0MENNEIoImRRt4NYMAL0VpSzotildTi+eby\/7sERFQ3CIiAIiIAiIgCIiAIiIAuC+MdJYq5rRkmB+7wXeilPDyVlHmi0Y2k3tfpqk2TnZDge\/aK2V8sYyNoYxoa0cA0YAX0knltlao8sEvBBcdFa6WgqaqogDg+rftyZdnfknd5ldiJku4ptN9AiIoJM2+2ht4t5g2hHK07UTyPdK+bGbwIJIrvHGHRkNjka7JkHST6dXctRFbmeMGfw1z863+YREVTQIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiID\/9k=",
    "razonSocial": "INVERSIONES Y SERVICIOS DIGITALES SPA",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "MARCELA ECORA",
    "correoContacto": "secretaria@ecora.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "13",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+5699092 8356",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "12:53",
    "ubicacionGPS": "LatLng(lat: -23.6541445, lng: -70.3949882)",
    "horaLlegada": "11:14",
    "horaDespacho": "14:26",
    "idMovimientoMaquina": "2",
    "idEstadoRetiro": "1",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 12:53:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76121841

[09/06/2026 12:53:03] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76121841', 'EP2775', 1, 19969062, 18399, NOW(), 
				'14:26', '11:14', '12:53', 2, 'retiro maquina 
firmado por Marcela Mondaca', 1, 
				'', '','1','44810',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781023983.png', 'retiro maquina', null, 'COMPLETADO','LatLng(lat: -23.6541445, lng: -70.3949882)' )
				
[09/06/2026 12:53:03] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200644

09/06/2026 12:53:03 sql cambiarestado: 
				UPDATE llamados
				SET pendiente = 'NO'
				WHERE rut = '76121841' AND 
				serieinterna = 'EP2775' AND
				correlativo = 1;				
		
09/06/2026 12:53:03 nextCorrelativoClienteMaquina sql: 
				SELECT IFNULL(MAX(correlativo)+1, 1) AS correlativo
				  FROM clientemaquina
				 WHERE rutcliente = '76121841'
				   AND serieintmaquina = 'EP2775'
		
09/06/2026 12:53:03 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET estado = 0
				 WHERE serieintmaquina = 'EP2775'
				   AND estado = 1
				
09/06/2026 12:53:03 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET facturada = 0
				 WHERE serieintmaquina = 'EP2775'
				  AND rutcliente = '76121841';
				
09/06/2026 12:53:03 agregarMaquina sql: 
				INSERT INTO 
					clientemaquina (rutcliente, serieintmaquina, correlativo, estado, fecha, ubicacion, ciudad, departamento)
				VALUES 
					('76121841', 'EP2775', 2, 1, now(), 'DSPRINT', 'ANTOFAGASTA', 'TALLER');
				
09/06/2026 12:53:03 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200644'                    
				WHERE idllamado = 12937			
				TO ENVIO: micorreo@miempresa.cl, secretaria@ecora.cl


09/06/2026 12:53:03 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12937			
				
09/06/2026 12:53:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


09/06/2026 12:53:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:53:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:53:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:53:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:53:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:53:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:53:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:53:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:53:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:53:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:53:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:53:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:53:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:15 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 12:53:15 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:53:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 12:53:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:53:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:53:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:53:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:53:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:53:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:53:15 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 12:53:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

[09/06/2026 12:53:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:53:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:53:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:53:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:53:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:53:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:53:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:53:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:53:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:53:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:53:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:53:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:53:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:53:15 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:53:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:53:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:53:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:53:15 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 12:53:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

[09/06/2026 12:53:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:53:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:53:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:53:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:53:15 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:53:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:53:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:53:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:53:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:53:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:53:16 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:53:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:53:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:53:16 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:53:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:53:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:53:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:53:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:53:16 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:53:16 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:53:17 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:53:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:53:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:53:17 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:53:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:53:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:53:17 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:53:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:53:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:53:17 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:53:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:53:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:53:17 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:53:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:53:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:53:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:53:17 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:53:17 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 12:53:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
[09/06/2026 12:53:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:53:17 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:53:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:53:17 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 12:53:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

[09/06/2026 12:53:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:53:17 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:53:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:53:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:53:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:53:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:53:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:53:17 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:53:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:53:17 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:53:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:53:17 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:53:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:53:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:53:17 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:53:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:53:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:53:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:53:17 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:53:17 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:53:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:53:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:53:17 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:53:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:53:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:53:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:53:17 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:53:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:53:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:53:18 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:53:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:53:18 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:53:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:53:18 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:53:18 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:53:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:53:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:53:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                
=========================================
FECHA: 09/06/2026 12:53:18
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-N_JK4-jSYjG+m_ofH9NIt5LNIQvSd7HW0rGROrzSiOz_78RFpDp
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76318598",
    "serieinterna": "TO2820",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "9291721",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "insumo",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12931",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABnANoDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xAA3EAABAwMCAwYEBQIHAAAAAAABAAIDBAURITEGEkETUWFxgZEUIsHRFTIzobEj4SRCQ1OCovH\/xAAYAQEAAwEAAAAAAAAAAAAAAAAAAQIDBP\/EACwRAAICAQIEBAUFAAAAAAAAAAABAhEDITEEEkFRMnGR4RMiYaGxFCNCwdH\/2gAMAwEAAhEDEQA\/APsyIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIDludX8BbairABMUZc0HYnp+612asmr7TBV1AYJJW8xDG4A18yovjaYtsjadmS+omawNHXGv8AICnKWAUtJDTt2ijawegwr1UbMFJvM10S+7NyIiobhERAEREAREQBERAEREAREQBERAERYSyxwxuklkbGxoy5zjgD1QGaKEj4rttRcGUlP2sxc4N7RrPlBJAGp81NqWmtykMkZ+F2ERFBcIiIAiIgKvfx8fxVabfnLYyZnj1zr6N\/dWhVi3n4zjuvnJ+WmiEbR7D7+6s6vPSkc3D6uc+7\/GgREVDpCIiAIiIAiIgCLVPU09KznqJo4m4zl7gF7DNFUR9pDKyVhOOZjgR7hCLV0bEREJCIiALGSRkUbpJHBrGAuc4nQAblZKucVXF7mNslE3tKuswCAfyt\/vj2VormdGeXIscHJmuTiqrrpX09ktkk7hp2shAaPHTTHqFjFwzcbmRLfrjI4Zz8PEcNH09h6qftlC2222CjaebsmYLsYydyffK6HvZG3me4NHeThW568JgsDmrzO\/p0NVJR01DCIaWBkLB0aMZ8+9b1yOutuYSH19K3G+Zmj6roimimZzxSMkb3scCFR31OmLjtEzREUFgiIgC8JAGScAL1ctzeYrVVyNHMWwPIHfhpRESdJsg+DWmY3OvII+JqTvptk7f8lZlBcGxhnDVO4HPaOe4+HzEfRTqvk8TMOGVYY+vrqFpqqunooHT1MrYo27ucVout1prRRuqKh3gxg3ee4Kv0dsreJaoXC8c0dG05gpduYdCfvufJIxvV7E5MzT5IK5fjzMJJbjxhOYqfnpLU04c8jWT77bdOqtsUYiiZGCSGNDQXHJOO9Ioo4YmxRMDGMGGtaMABZqJSvRbE4sXJcpO2wiLluVfFbbfNVyuADGnlB\/zO6D3VUrNZNRVs4brxPbrVKYJC+WcYzFG3JGfHZRvx3FN3d\/hKRlugJ0fKPmx6\/QLo4Rtpjt5uFW0Pqat5l53NHMAdtfHf1CsS0bjF0kckY5MyUpSpPov9K5ScHU3auqLpUSV8zty8kD+c\/upi32yktcToqOIxscckcxd\/JXWiq5Se7N4YccNYoIiKpqEREAUFdeH5qq4i4UNYaWo5eVzsbjH\/AIp1FKbWxSeOORVIrJ4bvE+lRxDOAdwzP3C9ZwNbi7nqKmqmd1y8DP7Z\/dWVFb4kjH9Li6q\/O2QbODrG0YNI5\/i6V\/0KjLra5OGHfi9pke2IOAqIHuyHAnTfzx36q3qs8X1PxApbNAQZ6mQEg68oG2R4n00KtCUnKmZ8RixQxuUVT6V3LJG9ssbZG\/leAR5FZLCKNsMTImDDWNDWjwCzWR2LbUIi4rhcRQOgaaeaYzyCMdm3PLnqfTPspSsiUlFWztWmsh+Jop4P92NzNs7jC3IoJatUV7guY\/g7qOUFk1LK5jo3bjOu3mSum68S0NsBY13xNTsIYjk58T06eOuy1XDhSjrqt9Uyaankk\/UMbtD3+66bVw9brQMwRc0uNZZNXH7ei1bg3ZyQjnjFY1Srr7EZbrLWXWuF1vzcFv6NLjRo6ZH09+5WdEVJSbN8eKONaevcIiKpqeOcGtLnEAAZJPRVLkdxbfOckG10LsYycSu\/vp6ea7uLK2ZtNFa6TBqK93ZjXUN0z6HOPLKlbXb4rXb4qSH8rBqTu4ncrRfKr6nLP93JyfxW\/n0X9nU1oa0NaAABgAdF6iLM6giIgCIiAIiIAiIgCKNut9obRhtRITK4ZZEwZc5Q77jxBfHGK30jrfTOH68wIcR0I\/tnzV1BvUwnnhF8q1fZEjeuI6e14gixUVjzhkTdcE7Zx\/G5Wjh2yzwTSXW5O566pGoP+mD089vLZdFl4cpLR\/W1nq3D5pn75647lMKXJJVErDHOclPL02Xb3CIizOkIiIAiIgCIiAIiIAiIgKtTMFfx9UyTgYo4QImk5101\/wCzj6hWlVa5v\/BOLILm9p+Fq2djI\/OjDp9gfdWhrg5oc0ggjII6rSfRnLw+jnF72\/Y9RFD3biWhtsThHIypqdmwxuyc+ONlRJvRG85xgrk6JKqq6eigdPUytijbu5xUHHxdHWVkdPbbfUVQc8NfJ+UNGd+vnrhc9Fw\/V3icXDiIknH9OmBwGjxxt5b96s0MENNEIoImRRt2awYAV3yx+rME82TVfKvv7GxERZnUERctwnqaeifJSQdvPoGMJABJONURDdKzqRaqZ8slLE+eMRSuYC9gOeU41C2oE7Vmp1NTvqG1D4Y3TMGGyFoLgPAraiIKSCIiEhERAEREAREQBERAEREAREQGiso4K+mdT1MYfG7oeh7wq8228RWZwjtlRFV0rW4bFOcEeHTr4oispNaGOTDGbvZ90Yy27ia8AR11TFQwH8zIdSR6HXu3UrbOHLZaw10UAklGvay\/M7Ph3eiIpc21REeHhF8z1fd6kqiIqG4REQBERAEREAREQBERAEREAREQBERAEREAREQBERAf\/9k=",
    "razonSocial": "SOCIEDAD DE INVERSIONES SANTA LAURA SPA",
    "nombreTecnico": "DANIEL FUENTELZAR",
    "nombreContacto": "RAQUEL SUAREZ ROBLES",
    "correoContacto": "raquel.suarez@santalauraspa.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56921995553",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-I895\",\"id_control\":\"28955\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-I896\",\"id_control\":\"28955\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-I897\",\"id_control\":\"28956\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-I898\",\"id_control\":\"28956\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "12:53",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "12:14",
    "horaDespacho": "12:52",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 12:53:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76318598

[09/06/2026 12:53:18] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76318598', 'TO2820', 1, 9291721, 0, NOW(), 
				'12:52', '12:14', '12:53', 10, 'insumo', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781023998.png', '', null, 'COMPLETADO','LatLng(lat: 0.0, lng: 0.0)' )
				
[09/06/2026 12:53:18] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200645
[09/06/2026 12:53:18] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200645', 'TOS-I895', 1)
				
[09/06/2026 12:53:18] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28955 and
				    IDproducto = 'TOS-I895'
				

09/06/2026 12:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:53:18 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-I895';
                
09/06/2026 12:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                
[09/06/2026 12:53:18] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200645', 'TOS-I896', 1)
				
[09/06/2026 12:53:18] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28955 and
				    IDproducto = 'TOS-I896'
				

09/06/2026 12:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:53:18 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-I896';
                
09/06/2026 12:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                
[09/06/2026 12:53:18] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200645', 'TOS-I897', 1)
				
[09/06/2026 12:53:18] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28956 and
				    IDproducto = 'TOS-I897'
				

09/06/2026 12:53:19 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-I897';
                [09/06/2026 12:53:19] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200645', 'TOS-I898', 1)
				
[09/06/2026 12:53:19] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28956 and
				    IDproducto = 'TOS-I898'
				

09/06/2026 12:53:19 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-I898';
                
09/06/2026 12:53:19 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200645'                    
				WHERE idllamado = 12931			
				TO ENVIO: micorreo@miempresa.cl, raquel.suarez@santalauraspa.cl


09/06/2026 12:53:19 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12931			
				
09/06/2026 12:53:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


09/06/2026 12:53:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:53:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:53:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:21 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:53:21] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:53:21 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
09/06/2026 12:53:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:53:21 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:53:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

[09/06/2026 12:53:21] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:53:21 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
09/06/2026 12:53:21 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:53:21] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:53:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:21 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:53:21 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
[09/06/2026 12:53:21] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:53:21 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
09/06/2026 12:53:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:53:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:53:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:53:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:53:22 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:53:22] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:53:22 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
09/06/2026 12:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:53:22 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:53:22] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:53:22 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
09/06/2026 12:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:53:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:53:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:53:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:22 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:53:22] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:53:22 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
09/06/2026 12:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:53:22 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:53:22] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:53:22 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
09/06/2026 12:53:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:53:24 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:53:24] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:53:24 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
09/06/2026 12:53:24 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:53:24] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:53:24 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
09/06/2026 12:53:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:53:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:53:24 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:53:24] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:53:24 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
09/06/2026 12:53:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:53:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:53:24 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:53:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:53:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

[09/06/2026 12:53:24] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:53:24 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
09/06/2026 12:53:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:24 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:53:24] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:53:24 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
09/06/2026 12:53:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:53:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:53:24 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:53:24] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:53:24 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
09/06/2026 12:53:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:24 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:53:24] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:53:24 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
09/06/2026 12:53:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:53:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:53:25 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:53:25] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:53:25 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
09/06/2026 12:53:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:53:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:53:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:53:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:54:07 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:54:07 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:54:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:07 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:54:07 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:54:07 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:54:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:07 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:54:07 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:54:07 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:54:07 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:54:07 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:54:07 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:54:07 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:54:07 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:54:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:54:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:54:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:54:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:54:08 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:54:08 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:54:08 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 12:54:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:54:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
[09/06/2026 12:54:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:54:08 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:54:08 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:54:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:54:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:08 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:54:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:54:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:54:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:54:08 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:54:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:54:08 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:54:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:54:08 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:54:08 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:54:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:54:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:54:08 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 12:54:08 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:54:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:54:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

[09/06/2026 12:54:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:54:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:54:08 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:54:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:54:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:54:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:54:08 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:54:08 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:54:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:54:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:54:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:08 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:54:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:54:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:54:08 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:54:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:54:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:54:18 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:54:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:54:19 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:54:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:54:20 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:54:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:23 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:54:23 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:54:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:34 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:54:34 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:54:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:34 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:54:34 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:54:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:55:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:55:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:55:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:55:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:55:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:55:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:55:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:55:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:55:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:55:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:55:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:55:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:55:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:55:49 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:55:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:55:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:55:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:55:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:55:49 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:55:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:55:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:55:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:55:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:55:50 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:55:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:55:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:55:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:55:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:55:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:55:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:56:01 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        
=========================================
FECHA: 09/06/2026 12:56:01
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-w8p+En9+ZUFp2ACyMzpf96TCl+ezFEGEQ1XFRSqspjTIf9tzACk
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76961000",
    "serieinterna": "TO3197",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "Ecora",
    "ciudadmaquina": "ANTOFAGASTA",
    "departamentomaquina": "Oficina",
    "rutTecnico": "19969062",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Intalacion impresora toshiba\nconexion escaner\ninstalacion printaudi\nfirmado por Marcela Mondaca",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12672",
    "observacion": "Intalacion impresora toshiba\nconexion escaner\ninstalacion printaudi\nfirmado por Marcela Mondaca",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABtAPoDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFAwQCAQf\/xABFEAABAwMCAgcEAw0HBQAAAAABAAIDBAURBiESMRNBUWFxgbEiMpHBFCOhBxUWMzU2QnJz0dLh8CU0YnSCssI3Q1Jjkv\/EABkBAQADAQEAAAAAAAAAAAAAAAABAgMEBf\/EACwRAAICAQIEBQQCAwAAAAAAAAABAhEDITESMlFhBBNBccEikaHRM7EU4fH\/2gAMAwEAAhEDEQA\/AP7MiIgCIiAn7hfaiPU1JaaQMdxEGYkFxGQdsZHIb+aoFGWX+0NdV1YCHMh4gCf\/AJGPIKzWk0lSOXw05TUpPq69giIszqCIpmurJ5NdUVFHPJHE2LLmjkThzvtwArRjZnkyLGl3aX3KZERVNAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiALlVTCmpJpzjETHPOe4ZXVTutq8UtkNO1wElU4NA6+Ebk+g81aKtpGWafl43LocdC0jo7ZPWvJLqqTmc7hud\/iSqhZmnIeg09QswBmIO2\/xb\/NaambuTZXw8ODFFdgiIqG4UrScNfr+pnZ7lHFwE55uxj5n4KlqaiOkppamZ3DHE0uce4KY0OXVD7lWvHtTyg7\/AOon1WkdItnJmallhDvf2KxERZnWEREAREQBERAEREAREQBERAEREAREQBERAEREARSVTqyqo9QzwzQh1BA7o38Dd255OJVVFLHNE2WJ4ex4y1zTkEK0ouO5jjzQyNqPofa\/mmo6194rp6yPJpoHtghI\/S5nI7c4J+CrtV3Q0VsNNA4fSqs9HG0HcA8z8vErGuVvZQiwWhvvun45T1g5bk8+8\/Ba4tNTi8a3kTgtlv7vRL5LKni6Cmii2+rYG7dwwuiIsD00qCIvxzg1pc4gADJJ6kBNa2r3Q2+OhiPt1LsvAO\/A3c+HVv3FfehqforB0uN5pXOzjmBt8isGskN4bd75ICaeFggpwR2kDPdgHJ\/WVfp2LodP0Le2EO+O\/wA1vL6YUebhby+JeT0rT71+zSREWB6QREQBERAEREARFJffaq0zc5aW5ulq6aocZIZWgF2537O7YeStGPFsZZMqx05bdehWovwbjOMdy\/VU1CIse6amoLVU\/R5ekfKMFzWNzwgjOVKTexSc4wVydGwi8tvuNLdKYVFJKJGZweotPYQvUoaosmpK0EREJCIiAIiICSpqWKXWN3oalvHFUwhxHb7p8ua6fgvdKMugtl4fDSOOeB2eJm45Y58u5fVTmm+6FSuGzamnIJHXs79wVOtpSaqjgxYYT4k903+zEtOl6W2T\/SpZX1dUf+7J1d4H78rx15+la+oIebaeEvPjhx\/hVOpin+t+6JVf+mmHo3+JRFttt9C+XHGEYQiqXEv2U6IiyOwKZ1JdJKqQWO2ZkqZjibh5NZ1gnq7+5dbze6t877XZ4TLVHZ8oIxH\/AD8eWCvXYrFDZqcknpaqXeWY8z3Du9Voko6s5JyeVvHDb1fwjL1JQw2nRwoqcngEjRl3Nxzk5VHQt4KCnZjHDE0Y7NgsDXjiLJEwbl9Q0Y6\/dcqRrQxgaOQGEk\/pRONJZpJeiS\/s+kRFmdQREQBEXxLKyGJ8sjg1jGlznHqA5lAfaLy264090pBVUriYySPaGDkL1I1RCakrQUtrpnS01BCzHTPqMMPZtj1IVSpjV39+s3+Z+bVpj5kc\/i\/4Wvb+z0aavEtU2S21\/s11L7LuI7vA6\/68VvqY1XSmjkp77TBjZ6d4a8ke8DsCfTzVHDK2eCOZnuyNDh4EZUSS5kMMpJvHLdflHzVVDKSkmqX+7EwvPkMrC0nRvkhqLvUEulrnEgOHutydh4n0C9erJBHpqsOcZDWjzcFzt92ttrsVEyqq4onCBmWZy4HhB5DfrUpPh0KzlHz1xPRK\/voeKUOsGqYTGzo7fWAM4Wg8LXbDlyByB8VUAgjIOQVPTVtt1bTVFtpy8vYzpGSujw1ruo\/bjwyte1089JbKenqXtfLEwMc5vI45fYk9tdycGkmo6xeq+UfN1ucNpoXVUwJAIa1o5kn+s+SxadmqLpTmaSeKga\/djOHfh2PiOXWespqfE18slM8ZjdMS4Z57tVOnLFEU8uSSbpLoY1nffWVD6a6xwyRtYC2ojPM8sd\/LPIfavfcK+G20b6mc4a3kO09QXWoqIaWEzTyNjjHNzipB1XBfr6yprp2Q2uHPQMmIaJiOZwefeerkiXE7E5+TFQTtvr89jctWooLnUup3QSU0mOKNsu3SN33Hlj4rYUtqggR0t+oJI5XUj+FzmOyC0kY3B7dv9SpopGzRMlZnhe0OGRjYqJJVaL4ZybcJO2vXqmTeofqdUWScbF7zHnzA\/wCSp1Na2bwUNJWNID6epBBPeM+oCpGkOaHDcEZCS5URi0yzXs\/x\/o\/VMWb29aXd55hob6fuVOpix\/nhefL1SOzGfnx+\/wAMp15LrVGitVTUt96OMlvj1L1rI1V+bVb+qP8AcFWKto1ytxxya6M+dLU7I7LFUY+tqcySu7SSfhz5LZWfYPyBQ\/sG+i0FMuZkYVWOK7ExrAdPV2iiHOao37hkD5qnUxefrdaWiEblrS\/HxP8AxVOplypGeHXJkfdL7ILjHV08tRJTsla6WIAvYDuMrsok3SOxahvNROw8bwOhjIwZCfl3pGPFZbNmWKm9n+iydUQsnZA6VgleCWsLt3Ac8BdFN6etVTLVOvd1B+lyg9Gwn8W093Vttjs8VSKJJJ0WxTlOPE1X6CxNWVopbJJC1xE1SRHGACc7jPLuyttSF0fLR6rZXXWIuoh7NO4PPAw48OZ3OD6BTBWzPxM3HHXXT27lDbKdlqssEMjmsbBFmR3IDrcfVcbFd33qkkqTTGFgkLWZdniC46orhBYJeieS+pIijLN85O\/LuyvZZaP6BZ6WmIwWM9odhO5+0o+W2It+YoR2S\/4e5Zt0s7LpU0Ur5SwUkvScIbnj5bd3JaSzLzTXapETbZWR0zd+l4huezBwe9RHc1ypODtX2M3WlS11FBbIwXz1UrcMbuQ0HnjPbjn39ioYYhBBHE3lG0NHkMLJtGnI7dUOrKmofV1j9jK\/PLwyfitpTJqkkZ4oy4nkmqb9OxK61tMctFJdOkk6SFjWcIPskF3816LNpiziggqXU4qHyxteTI7iGSN8DktqvpGV9BPSSHDZmFucZweo+R3XzbKL73W+Gk6Z8wiGA9\/NTxvhqyn+PHz3Nx0a\/J2hp4KZnBBDHE3\/AMWNDR9i6IizOtKtjKvVofcXU9RTyMjqqV\/FG92SOXLs546jyWe6o1i0ljaOjdh20gI3G\/8Ai8OpUqK6lSowlgUnabV9CZZp24XWQSX+s42NOWwRHDeX9d\/etiey22pp2U8tHGYmAhrWjh4c4zjHgF7kUObZMcEIp6XfXU8dutVHaoHwUkZax7uJwLi7JxjrXsRFDd7msYqKpIm9dfkBv7dvoVQQ\/iI\/1R6LA1y3On89kzT6rfpyHU0ThuCwEfBWfIjnh\/PP2XydFMWP88Lz5eqp1gW+gqqbV1wqDERSzxgtk6i72dvVI7MnMm5Qa6\/DN9ZepY3S6erGtGTwZx2gEE+i1FzmibPBJC\/3ZGlp8CMKqdOzWceKDj1M\/Tcom07RObyEQb8NvktRTWi5nx0lVbJwWy0cp2Ixsf5g\/EKlUzVSZn4eXFii+xMV3\/US2\/5Y+kip1M3QdFru1TkHD4nMB7\/a\/iVMpnsvYrg5p+\/wgvJNaqCoq21U1LHJM3k54zjy5L1oqXR0OKlugiIhIXCsoqevgMFVE2WM74cOR7V3RCGk1TMSi0na6GtFXG2R72nLWyODgDgjs78rbRFLbe5WGOEFUVQREUFwiIgCIiAIiIAiIgCIiAIiIDC1jn8G58DJDmHln9ILTtn5KpP2DP8AaF+19DBcqN9JUgmN+M4ODsc\/JdaeCOlp46eIERxNDWgnOAOStf00YqDWVz9KOiIiqbBERAT14s9fHXG7WaUMqcYkiOMSD58hz9Vvs4+BvSY48Di4eWe5fSKzk2jOONQk2vU5SU1PNLHNJDG+SI5Y9zQS3wPUuqIql6QREQkIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiID\/9k=",
    "razonSocial": "CONSTRUCTORA ECORA S.A",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "MARCELA",
    "correoContacto": "secretaria@ecora.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "ADMINISTRATIVO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56990928356",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-I895\",\"id_control\":\"28958\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-I896\",\"id_control\":\"28958\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-I897\",\"id_control\":\"28958\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-I898\",\"id_control\":\"28958\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "12:56",
    "ubicacionGPS": "LatLng(lat: -23.6541427, lng: -70.3949893)",
    "horaLlegada": "11:14",
    "horaDespacho": "12:53",
    "idMovimientoMaquina": "1",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 12:56:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76961000

[09/06/2026 12:56:01] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76961000', 'TO3197', 1, 19969062, 0, NOW(), 
				'12:53', '11:14', '12:56', 1, 'Intalacion impresora toshiba
conexion escaner
instalacion printaudi
firmado por Marcela Mondaca', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781024161.png', 'Intalacion impresora toshiba
conexion escaner
instalacion printaudi
firmado por Marcela Mondaca', null, 'COMPLETADO','LatLng(lat: -23.6541427, lng: -70.3949893)' )
				
[09/06/2026 12:56:01] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200646

09/06/2026 12:56:01 nextCorrelativoClienteMaquina sql: 
				SELECT IFNULL(MAX(correlativo)+1, 1) AS correlativo
				  FROM clientemaquina
				 WHERE rutcliente = '76961000'
				   AND serieintmaquina = 'TO3197'
		
09/06/2026 12:56:01 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET estado = 0
				 WHERE serieintmaquina = 'TO3197'
				   AND estado = 1
				
09/06/2026 12:56:01 agregarMaquina sql: 
				INSERT INTO 
					clientemaquina (rutcliente, serieintmaquina, correlativo, estado, fecha, ubicacion, ciudad, departamento)
				VALUES 
					('76961000', 'TO3197', 1, 1, now(), 'Ecora', 'ANTOFAGASTA', 'Oficina');
				
09/06/2026 12:56:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

=========================================
FECHA: 09/06/2026 12:56:01
listaInsumosUsadosConsolidado===

idReport:200646

idInventario:TOS-I895

idControl:28958

cantidadAsignada:1

cantidadUsada:1

[09/06/2026 12:56:01] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200646', 'TOS-I895', 1)
				
[09/06/2026 12:56:01] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28958 and
				    IDproducto = 'TOS-I895'
				

09/06/2026 12:56:01 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-I895';
                
=========================================
FECHA: 09/06/2026 12:56:01
listaInsumosUsadosConsolidado===

idReport:200646

idInventario:TOS-I896

idControl:28958

cantidadAsignada:1

cantidadUsada:1

[09/06/2026 12:56:01] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200646', 'TOS-I896', 1)
				
[09/06/2026 12:56:01] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28958 and
				    IDproducto = 'TOS-I896'
				

09/06/2026 12:56:01 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-I896';
                
=========================================
FECHA: 09/06/2026 12:56:01
listaInsumosUsadosConsolidado===

idReport:200646

idInventario:TOS-I897

idControl:28958

cantidadAsignada:1

cantidadUsada:1

[09/06/2026 12:56:01] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200646', 'TOS-I897', 1)
				
[09/06/2026 12:56:01] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28958 and
				    IDproducto = 'TOS-I897'
				

09/06/2026 12:56:01 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-I897';
                
=========================================
FECHA: 09/06/2026 12:56:01
listaInsumosUsadosConsolidado===

idReport:200646

idInventario:TOS-I898

idControl:28958

cantidadAsignada:1

cantidadUsada:1

[09/06/2026 12:56:01] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200646', 'TOS-I898', 1)
				
[09/06/2026 12:56:01] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28958 and
				    IDproducto = 'TOS-I898'
				

09/06/2026 12:56:01 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-I898';
                
09/06/2026 12:56:01 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200646'                    
				WHERE idllamado = 12672			
				TO ENVIO: micorreo@miempresa.cl, secretaria@ecora.cl


09/06/2026 12:56:01 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12672			
				
09/06/2026 12:56:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


09/06/2026 12:56:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:02 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:56:02 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:56:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:11 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:56:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:56:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:56:11 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:56:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:56:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:56:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:56:11 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:56:11 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:56:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:56:11 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:56:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:56:11 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:56:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:56:11 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:56:11 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:56:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:56:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:56:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:11 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:56:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:56:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:56:11 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:56:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:56:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:56:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:56:11 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:56:11 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:56:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:11 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:56:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:56:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:56:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:56:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:56:11 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:56:11 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:56:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:56:11 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:56:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:12 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:56:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:56:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:56:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:56:12 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:56:12 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:56:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:56:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:56:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:56:12 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:56:12 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 12:56:12 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:56:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 12:56:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:56:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:56:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:56:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:56:12 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:56:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:12 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:56:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:56:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:56:12 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:56:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:56:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 13:04:41 - INPUT: {"rutTecnico":"95585912"}
[09/06/2026 13:04:41] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:04:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12669
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 16:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2570
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12713
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 15:35
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2136
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 15:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2552
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12635
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => NO ENCIENDE Y PROBLEMAS DE CONECTIVAD
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/05/2026
            [HoraLlamado] => 12:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91947000
            [ClienteRazonSocial] => SIKA CHILE S.A
            [ciudad] => SANTIAGO
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => EXTO2207
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12853
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => RESIDUAL
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 12:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 6508A
            [SerieInternaMaquina] => TO2005
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12863
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 15:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270424
            [ClienteRazonSocial] => ENERGIA EOLICA CJR WIND CHILE LTDA.
            [ciudad] => PROVIDENCIA, SANTIAGO
            [ModeloMaquina] => ESTUDIO 2520AC
            [SerieInternaMaquina] => TO2956
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:04:41 - INPUT: {"rutTecnico":"95585912"}
[09/06/2026 13:04:41] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:04:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12669
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 16:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2570
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12713
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 15:35
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2136
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 15:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2552
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12635
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => NO ENCIENDE Y PROBLEMAS DE CONECTIVAD
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/05/2026
            [HoraLlamado] => 12:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91947000
            [ClienteRazonSocial] => SIKA CHILE S.A
            [ciudad] => SANTIAGO
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => EXTO2207
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12853
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => RESIDUAL
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 12:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 6508A
            [SerieInternaMaquina] => TO2005
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12863
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 15:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270424
            [ClienteRazonSocial] => ENERGIA EOLICA CJR WIND CHILE LTDA.
            [ciudad] => PROVIDENCIA, SANTIAGO
            [ModeloMaquina] => ESTUDIO 2520AC
            [SerieInternaMaquina] => TO2956
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:04:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 13:04:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 13:04:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12941
            GROUP BY l.idllamado;
            

09/06/2026 13:04:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12941
            GROUP BY l.idllamado;
            

09/06/2026 13:04:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 13:04:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                
[09/06/2026 13:12:20] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 13:12:20 - INPUT: {"rutTecnico":"21773342"}[09/06/2026 13:12:20] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 13:12:20 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 08/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => AM-C400
            [FechaLlamado] => 05/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [RutCliente] => 69253200
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 04/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [RutCliente] => 76257428
            [ModeloMaquina] => WF-C878R
            [FechaLlamado] => 03/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => ESTUDIO 330AC
            [FechaLlamado] => 03/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 03/06/2026
        )

)

09/06/2026 13:12:29 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 13:12:29] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:12:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:12:34 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 13:12:34] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:12:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 13:12:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:12:39 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 13:12:39] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:12:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:12:40 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 13:12:40] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:12:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:12:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12947
            GROUP BY l.idllamado;
            

09/06/2026 13:13:10 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 13:13:10] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:13:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:13:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12947
            GROUP BY l.idllamado;
            

09/06/2026 13:13:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12947
            GROUP BY l.idllamado;
            

09/06/2026 13:13:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:13:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:13:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:13:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12947
            GROUP BY l.idllamado;
            

09/06/2026 13:13:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:13:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:13:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12947
            GROUP BY l.idllamado;
            

09/06/2026 13:13:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:13:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:13:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12947
            GROUP BY l.idllamado;
            

09/06/2026 13:13:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:13:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:13:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:13:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:13:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12947
            GROUP BY l.idllamado;
            

09/06/2026 13:13:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:13:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:13:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:13:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:13:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12947
            GROUP BY l.idllamado;
            

09/06/2026 13:13:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:13:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12947
            GROUP BY l.idllamado;
            

09/06/2026 13:13:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:13:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:13:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:13:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:15:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:15:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:15:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12947
            GROUP BY l.idllamado;
            

09/06/2026 13:15:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:15:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12947
            GROUP BY l.idllamado;
            

09/06/2026 13:15:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:15:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:15:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:15:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:15:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12947
            GROUP BY l.idllamado;
            

09/06/2026 13:15:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:15:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:15:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:16:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:16:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:16:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:16:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:16:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12947
            GROUP BY l.idllamado;
            

09/06/2026 13:16:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:16:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                
=========================================
FECHA: 09/06/2026 13:16:45
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-5X-UVY7H_GYtRQjXKRI34G3t6E+.RWfoy26RW_d+d5p1ILUgGdO
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69020400",
    "serieinterna": "EP3136",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "5602",
    "contadorColor": "2254",
    "contadorScanner": "0",
    "detalle": "Mantenimiento\najustes",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12947",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAC8AN8DASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABCEAABAwMCAgcGAwUHAwUAAAABAAIDBAURBiESMRNBUWFxgZEUIjKhscEVQtEWIyTh8AczNFJicpI1gvFTdLLC0v\/EABkBAAMBAQEAAAAAAAAAAAAAAAACAwQBBf\/EADARAAIBAgMFBwQDAQEAAAAAAAABAgMRITFBBBITIlEyYXGBobHRkcHh8BQjQjPx\/9oADAMBAAIRAxEAPwD9mREQAREQAREQAREQAREQAREQAUWquNJRzQQ1EzY31DuGMHrK+3CvgttFJV1DsMjHLrceoDvKoLDQT3au\/aG5j3jtTRHkxvUfrj17E6jhdkKlRqShDN+iNQiIkLhERABERABERABERABERABUOj7hVXK0SS1cple2dzQ4gA4wD9yr5ZjQP\/Q5v\/cu\/wDi1OlyszzbVaC8fsadERIaAiIgAiIgAiIgAiIgAvMkjIo3SSODWMBc5xOwA5lellr7VT3m6s0\/ROIjBDqx4xs3IPy+pATRjdkqtThxvrp4nGFkmr7wKmRrm2mkOGNO3Su\/r5bda1zWhrQ1oAAGAB1LlSUkNDSR0tOzgijGGhdkSlfLI5RpbivLFvMIiJSwREQAREQAREQARfHODWlziAAMknqWYrdRVVzqjbtPx9K\/OJKk\/C0dx+\/omjFyJVKsaax+hdXO8UNpjD6uYNJHusG7neAVN+2sbgHRWurewjIcBzUi3aTo6Z\/tNc51dVHdz5jkZ8Dz81fAADAGAE3Iu8lavPG+76lXQ3+judvnqaV5DoWkuY\/YtwOfh3qDoaPg0\/xf+pM530H2VXq+jbaKltfRN6P2xkkU4A905H1IJ9MrQaVi6HTdG3b3ml23eSfumkkoXWpGnOcto3Z5xT9bFuiIonoBERABERABERABEXKpqI6SmlqZncMcTS5x7gg43ZXZW6ivX4PQjogH1Ux4YWc9+3HcvOm7KLTQ8UwDqub3pXnc+Ge76qvsME17ur7\/AFjSImEtpGHkBuM+X1z2LUqkuVbqM1JcWXFeWnz5+wREUzUEREAEREAEREAFzqKiKlgfPPII42DLnO5BfKmpipKd9RO7hjjGXHGVlGNrNZ1TZJWvprTE7Zud5SP68AnjG+LyIVau5yxV5PJfuh6d7ZrGpcI3yUtpiOOIfFMf69FpaGgprbTNp6WIRsb6k9pPWusMMdPCyGFgZGwYa1o2AXREpXwWQUqKi96WMnqEREhcy+vZWts0MZGXPnBHdgH9VoKBrWW6mY0Ya2JoA7BgLEa7q+nusVK3JFNHl2\/Iu3+mFuaMYooB2Rt+irJWgjDRnvbTU7rI7IiKRuCIiACIiACIiACyl9kffrzFYKd5bFEekqXgcsD+ePEjsVxf7u2z2x8\/OV\/uRD\/Vjn4BR9L2h1tt5lqWYrKgl8pPMDqH38SqR5VvGWt\/ZJUllm\/Dp5lvDDHTwshhYGRsGGtaNgF0RFM1ZBERABERABeI5Y5gXRPa8A4JacjKzF2rai+3YWS2zFkDP8VOzO3aP65k9yv7bbae1UbaWmB4AckuOS49pTONliQhVc5tRWC17yWvMkjIo3SSODWMBc5xOwA5lellLjU1Oprm+z0LuCihI9pnG\/F3eo88dgRGNxqtXhrDFvJHLM2s684L4bTTP36jK7+vQHvWtiijhibFEwMYwYa1owAFzo6OCgpI6WmZwRxjAH3K7rspXwWQtGluc0sZPMIiJC4XiWVkMT5ZHBrGNLnOPUBzK9rO6wuD4bey3U44qmudwNaOfDnf1OB5lNFXdidWoqcHJmUqY33CA18gAkuFdwsxzDRnI9XD\/iv0wAAYAwAsdW0Tae7aetDTxez\/ALx\/CPiOck47MtPzWyVKjukZNjhuuV+762u\/cIiKJvCIiACIiAC+OcGtLnEAAZJPUvqzuq7jII4rNSjiqa73djjhaTj57jwBTRW87E6tRU4OTIlK12p9RvrJDxW6gdwwjbDnbfI4z6LWqJbLfDa6COjgyWsG7jzcTzJUtEnd4ZCUabhG8s3iwiIlLhEXlzmsYXuOGtGSewIA9Km1Nc5bfQMhpCfbKt4ihA595+3iQrWGaOohZNC8PjeMtc07ELOWwi\/amnuhPFS0X7qn7C7rd9T5jsTxWN3oZ60nZQi8ZfrZaWC0ts9tbCd5pPfmcTnLiNx4BWaKtvt4istvNQ9vHI48MbM83fouYyZTkow6JFfqW5zOkZZLeCayqG7g7HA3r38AfJWdntUNot7KeJo48AyPH53dZVfpqyy0cb6+4Djr6g8TnOOSxp6vH\/wr9dk0luolRg5PizzeXcvkIiJDSEREAfHODWlziAAMknqWWssZvt\/nvkrT0EJ6OlBzjA2zy7ye4lfdQ1s92rhp63kBzt6iXOzR2fTPkFoaKjgt1FHTQNDI424zjGe0nvVOzHvZkb41S3+Y+\/4M\/Tfx39oFRJzZRwcLT2HAGO74nLULL6NBqZbnc3D\/ABNRhpx1bnb\/AJD0WoRUzt0G2XGG91bYREUzSEREAEREAcqmojpKaWpmdwxxNLnHuCzmmqeS6V8+oasDMjiynBGOFo2yN\/EeqajqH3W6QadpnEB5D6l4Pwt549MH0WjpqeOlpo6eFvDHG0NaO4KnZj3syf8AWr3R9\/wdURFM1hERAEK8XH8Ktc1d0XS9Fw+5xcOcuA54PaqrUV2A0k2oDeB1dG1obxcuIZO\/XtletbP4dOSDOOORg5898\/ZVLc3S6WK2YPR0lLHLKM9fCDgjyA\/7laEVZM8\/aKst901qkvNv4LWukGn9GNiBDZREImgjm93P6uPkpmmqAW6xU8RaBI8dJJjrJ3+mB5Ks1OPb73abXza55kkbzyPDwDlqEsny+JWlFOq7ZRSS+\/2PL3tjjdI9wa1oJcT1BZS2RO1Nfn3WoZ\/BUp4Kdjm7P3OD9z5di76oq56yohsFFvJU4M7gD7jMj+ZP81b2f2KKhbSUMzJWUv7txafzdZPiclC5Y31ZyTVWru6L1f4J6IimbAiIgAqS\/wB99gaKKjaZrhOOGNjd+HPWV8vWoWUZNFQD2m4PPC2NozwHtP6L1YbD+H8VZWP6e4TbySHfhz1BUSSV5GWdRzfDp+b6fk9adsgtFETNh9XMeKWTmfDK66jrPYrBVzA4cWcDfF233z5KzWV1rO2U0FtdKI2zy8UjnO4Q1o2yT5k+SI3lPEKtqNBqPgWumaP2KwUsZBD3t6R2e12\/0wrVeWcHA3o8cGBw8PLHcvSRu7uXhFQiorQIiLg4REQAUO63CO122ark\/IPdH+Zx5D1UxZS9B2oNQwWeMn2alIkqSM4J7M9uNvEnsTQV3iRr1HCHLm8F4krSlvkEMl4q8GqriX5xu1hOceB2PhhaFfGtDWhrQAAMADqX1ck7u41KmqcFFBERcKBERAGT\/tAlxbaWH\/PMXegI+6+6JpxMKu6Pbh0rxEzbGGgDOO7l\/wAVE1+50lVQQNbl2Hkd5JA+y1VpoGWy2QUjQMsaOMgc3dZ9Vdu1NLqebCLntkpaK3t\/6UdF\/H69rJ8ZZRxcDT2HAH3cry6XCK126WrlOzB7o55J2AVJoz9+bnXEkmepxnPPGT\/9lzup\/aTUEdpiOaSjJfUuBxl3LHLmOXmVxq8rPJDQqONHeXak3bzZXATW+w1F3mdxV93PBGAN2tcSTjxH2WqsNqZaLXFT8I6UjilcOtx7+7l5KmqIW3fW0VK4g01uiD+jDcDi229S3yC1a5OWFhtmppScumC+782EXKoqaelj6Somjib2vcAs\/Wat9ok9lsVM+tnP5ywhjfv64CRRbyNNStCn2n8l\/VVdPRQOnqZWxRt5ucVmZ7tc9RyPpLLG6npAcSVb9iR3dn18F1pdL1FfM2s1BUmokxtA04azzH0HzWkiijgibFCxscbBhrWjAATcscsWRtVrZ8sfV\/BW2fT1FZ28UbelqD8U7x7x8OxWqLnNNHTwvmmeGRsGXOcdgEjbbxNEYxpxtFWQnnipoHzzPDI4xxOceoL8xvF1N3vvtUcJewEMiicCeIA7AjvPUO1SNS6imu8oiiDo6Npyxp26T\/UV6ZQstFhZXSDjrq8cFMzHwNPN2O3B27MhaacNzF5s8faa\/He7DsrFv99C50RLW1UtXPUVDpI2gMDS7YHJOw7P1WvVfYrb+FWiClO8gHFIc\/mO5\/TyUltbSvqTTMqI3TNzlgcCRjH6qE3vSbR6ezxdOlGMnid0REhoCIiAK++XRlotctUd3\/DG3PNx5fc+Sh6UthorX7RM3+Jqz0shI3APIffxJVdXA6j1XHQjDqK3nM2\/xO6x37gN9VrVR8sbdTLD+2q56LBfd\/YIvD5Y4\/jka3bO5wo8l1t0QJkr6ZuO2Vv6pLM0OSWbJaKqk1NZYzh1wiP+3LvoosutbJH8M0kv+yI\/fC7uSehN7RSWcl9S\/RZf9uKeXakttXOc7DAH0yvv7R3ufam07M3PwmUnHjyC7w5Cfy6Wjv4Jny5tFXrq2wYBbBEZHHng+8R9B6q1vl5prTRvMsuJnsd0TBzJxt4b9axbLnd319bfWRwsdGBE\/pCMM5bNBPP3fmVzr6K63S1v1BXTMLGhrWtIw4t4sbADGMn6q3DxV2YP5TUZuCd3d+WRc2evZZNEGqy0TTPeYhndzs8Ocd2PQKXYHW\/T9rc+vrYWVU7uOYF4Lx2DAyds58ys7puyvv8AK5lVNMKSmbgcLuTj1DII6t\/Ja6n0hZKcg+ymVw65Hk\/LkuT3VdMbZ1VmozilZKyv6szdu1FDSXu51TIJat1TJiERjGW8R59fLHUrb27VV0y2loWW+MnHHNzG3fv6NXzTDY6TUV6owAwmQPYxrcAMDncv+TVqks5JPBFdnpTnDGdsXgvHqZqn0dFM5s14rJ66brBeQ3w7fmFfUlHTUMIhpYGQsHU0Yz49q7opuTeZsp0adPsoIijV1fTW2mdUVUojY31J7AOtLmUbSV2dZpo6eF80zwyNgy5zjsAsZca99+ZLVzl8FlpTsM4dUO6gP62XeOnuOr52z1fFS2prsxxDYyd\/8\/RWl4sNHUw0zpJDDR0LXOdCz4XNAzju5c\/\/ACrRtB45mCo514txXL7\/AI9zER0st4u1NGW9D7S7DI2g4jjHLHkD6Z61e3modTarhc+hmqGUkTfZoGD4ufvE7nYjv5KbpGjNTUVN7lbjpnGOnBGOFg229A3yK1KadS0rEtn2Vyp717Nu\/wBMvkyrWamvjiJXi1UpOC1o98j6\/RRaG1U1t1xTU1NxcMNOXOLjkucWkZ+YW0VGLZVftibjwAUwp+Hi4hknljHNIp5rIvU2ezi8W7rH9yLiaaKnidNNI2ONoy5zjgBUFVrW3sd0dDFNWynkGNLQT4nf5K\/qIIqqB8E7A+OQYc09YXimoqWjbw01PHCOxjQEicVmaKiqt2g0l6meF21TWD+Gs0cDe2Y4I9SPooV3m1Rb6F1ZV3KCJmQ1scYHE4nqHu9mevqW1WTrHHUGr4qJhzSW\/wB+Ug7F3X88DyKpCSbywMtenKMbb7beCxt7HC2aSuDqRspvE9L04D3xx53J7SHYKmfsRBJvUXOslJ5niG\/rladErqSKx2Oila1\/qZpmhLQ3nJVP363j7BfanTWnLXTGpq4XdGwjJdI88z2DmtIstqNxu96o7FG3iY09NOc4xtt6Ak468hdjKUnixatGjSheMFfTxLOm0\/YzE2WGghcx4y0uBOR5qdHb6KEgxUcDCBgFsTR9l3a0NaGtAAAwAOpfVNyb1NMacI5JHwAAYAwAoV5rDb7PVVQOHMjPD\/uOw+ZCnLI6prDdbhT6epCC90gdK\/mGnB28huU0FdibRU4dNtZvBeJT6YtMt5lY2UYoaWTjeN\/3jj1egGe7xV7ra5Q01qFsZjpZ+E8IHwsBzn1GPVXcENLYrRwjDYaaPL3Y3dgbnxKwtfTT3S2VeoqrYvkDIWDYBoIGft6qye\/O7yPPnB0KHDjjJrHw\/cDa6dpYqWw0bYgQJImyOyc5c4AlWazmkbw2ooWW6odwVVO3hDT+ZgxgjyIWjUJpqTuejQlGVKLiZjUEc1pvEGoIIzJE1vR1DG7bbjJ+XmAtBR1kFfSR1VM\/jjkGQfsV1c1r2Fj2hzXDBBGQQszNp242l7p9PVXCw7uppDs479Z2PPu5c02ElZ5k2p0pOUVeLzWt+41CLMG7aqzhtlhPDsTnAJ7Rk8k\/DtRXrDbnUsoKf80VP8TvPJ+vkubnVnf5F8Ixbfhb1ZJu2qIKOX2OhZ7ZWuOBGzcA95H0HyUah03U3CpbcNQS9NJzZTZ91ncf0HnlXFtstBamYpIA12MGR27j5qeu7yWETioym96q792n5PjWhrQ1oAAGAB1LN6vrJJGU9lpT\/EVrwHdzc9fifkCtBU1EdJTS1MzuGOJpc49wWd0tTzV9VUX+saRJOSyBpJw1vXju6vIohhzPQK7crUo6+2vwaCjpY6KjipYh7kTQ0LuiKZpSSVkEREHQiIgCvvty\/CrRPVDeQDhjGPzHYfr5KFpK2G32kTTA+0VZ6WQnnj8o9N\/ElQ7k037VUNtwHUtEOkn6wT2cvAc+3sWpVHyxt1MsP7KrnpHBeOvwERFM1HiWVkMT5ZHBrGNLnOPUBzKzukWOqn114k+KrlIb3NHd5j0XbWVYaexmBgJkqniMADJ7T9MeatbZRtt9tp6Rox0TAD3nrPrlUyh4mZ89dLSK9X+CUiKFdbrTWijdUVDu5jBzeewJEr4IvKSirvIg6mvrbNQYjINTNlsbc\/COt3kqvQ9qe1kt1qGnjl92Iu5kcy7z+x7VR0tNV6vv0ksh6Nh3kc3cRt5AD+u0r9HZE2CnENO1rGsbwsbjYditLkju6s8+jfaKvFfZWRmdQyy3u6wWGkOWNIkqnjB4RkfT7hStWU8cGk5ooIwyOMsAa3YAcQUjT9kdao5pqmUTVlS7ilkHLmTt65XbUNP7VYK2Lr6IuHi33vsl3kpJLJFOHJ05zl2pJ+XRHChtFHVNtl0IcJoqZnCWnAd7u2fVXKqdL1HtOnKNx5tZ0Z\/7Tj6AK2SSvezNFFR3FJa4hERKWCIiACIqbUl6\/CqMRwDjrKg8ETBuR\/qx\/W66k27ISc404uUsitv9RLe7tHYKMno2EPq3jGw2+mfUhaeGGOnhZDCwMjYMNa0bAKr07ZBaKImbD6uY8UsnM+GVcJpNZLIlRhLGpPN+i6BERIaAiIgAod2uDLXbJqx+CWN91p\/M48h6qruUepKWukq6CaOqpzgimeAC0d3Lv61nrxfPxeso6O5QvoYYZM1LCCTnt5Z5fXrVY07sxVtqUItWs9L5fU0OkKB0NtNfUAmprXGRznYyQTt68\/NaBQaa72uoYPZ62nIAwGh4BHkpjHskbxMcHDtBykk23dl6KjGCjF3PSL4SAMk4AUeW40MBImrKeMj\/ADytH3S2KtpZlDqUe0agstI7+7Mpe4duCP0PqtOsTqW80JuNFXUNVFNNSHdgDiHDI6+XapDdS3y6RgWyzmMP2EzyXNHeCQArODcUYIbRTjUnjdvpjoX12vNJZqfpal+Xke5G34n+H6rDiG6ayujpsBkTDw5PwRN7B2n+tloKTR5qJ\/bL5VOq53c2AkNHdnn6YWkhhip4mxQxtjY0YDWjACFKMMsWdlSqbQ\/7MI9NfMjWq1U1oo209O3ve883ntKmoik3fFm2MVFWWQXxwDmlp3BGCvqLgxltJSewVNbZJyWywyl8YdgcTTj7YPmtSs5qe2z9LT3mgbmppDl7QPiYN\/5eBVtarrTXejbUU7u57DzYewqk8eZGWg+G3RemXevwTURFM1BEVDdtUQUcvsdCz2ytccCNm4B7yPoPkuqLeQlSpGmryZKvd8p7LTBzx0k79o4Qd3foFAsVnqpKx94vDWuqpN4mEf3Q8Orw6l6s1hlNX+L3d3S1r92sPwxfzHy8VoU7airIhGEqslOpglkvu+\/2CIimagiIgAiIgCPX1sVvoZqub4Im8WO09Q8zgKh0tbm1dFPcrhEyaSueXESMyMAnqPUr2voKe50ppqphdG4gkA4OxXaKJkMTIo2hrGNDWtHUByCdO0bIhKm5VU3kl6sqJ9I2Scg+ydGQMZjeR8uSiP0HaXOyJapg7A9v3atKiFOS1B7NRecUZkaCtIO81WfF7f8A8rvFouyRgB0Ekve+U\/bCv0RxJdTi2Wiv8og01ltlGQYKGBjhydwAu9TupyIlbbzLRjGKslYIiLgwREQAREQAWerdPVNNWvuFjnbTTv8Ajid8D+3bHWtCi6pNZE6lONRYmY\/HdQUQ6OrsL6hw246cnB79gU\/aW8y5ZFpqoa8\/CZC7hB78tH1WnRNvR6EuDUyVR28F8GW\/D9T3Yj26tZQwOI4oodnY6xt9yri1WOhs8XDTRZkPxSv3e7z6vAKxRDm3gNChCL3s31YRESFwiIgAiIgAiIgD\/9k=",
    "razonSocial": "ILUSTRE MUNICIPALIDAD DE MEJILLONES",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "LUIS OSORIO BERRIOS",
    "correoContacto": "losorio@mejillones.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANTENCIÓN PREVENTIVA",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56552557314",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "13:17",
    "ubicacionGPS": "LatLng(lat: -23.100618, lng: -70.4525371)",
    "horaLlegada": "12:46",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 13:16:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:69020400

[09/06/2026 13:16:45] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('69020400', 'EP3136', 1, 21773342, 5602, NOW(), 
				'08:00', '12:46', '13:17', 3, 'Mantenimiento
ajustes', -1, 
				'', '','1','2254',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781025405.png', '', null, 'COMPLETADO','LatLng(lat: -23.100618, lng: -70.4525371)' )
				
[09/06/2026 13:16:45] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200647

09/06/2026 13:16:45 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200647'                    
				WHERE idllamado = 12947			
				TO ENVIO: micorreo@miempresa.cl, losorio@mejillones.cl


09/06/2026 13:16:45 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12947			
				
09/06/2026 13:16:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


09/06/2026 13:16:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12947
            GROUP BY l.idllamado;
            

09/06/2026 13:16:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:16:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:16:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:16:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:16:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:16:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:16:48 - INPUT: {"rutTecnico":"21773342"}
09/06/2026 13:16:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:16:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

[09/06/2026 13:16:48] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:16:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:16:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12947
            GROUP BY l.idllamado;
            

09/06/2026 13:16:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12947
            GROUP BY l.idllamado;
            

09/06/2026 13:16:48 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 13:16:48] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:16:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:16:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:16:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:16:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:16:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:17:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

09/06/2026 13:17:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

09/06/2026 13:17:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

09/06/2026 13:17:33 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 13:17:33] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:17:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:17:33 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 13:17:33] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:17:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:17:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

09/06/2026 13:17:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

09/06/2026 13:17:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

09/06/2026 13:17:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

09/06/2026 13:17:37 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 13:17:37] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:17:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:17:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

09/06/2026 13:17:37 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 13:17:37] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:17:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

09/06/2026 13:17:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

09/06/2026 13:17:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:17:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

09/06/2026 13:17:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

09/06/2026 13:17:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

09/06/2026 13:17:39 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 13:17:39] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:17:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:17:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12263
            GROUP BY l.idllamado;
            

09/06/2026 13:17:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12263
            GROUP BY l.idllamado;
            

09/06/2026 13:17:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12263
            GROUP BY l.idllamado;
            

09/06/2026 13:17:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12263
                

09/06/2026 13:17:39 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 13:17:39] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:17:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:17:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12263
                

09/06/2026 13:17:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12263
                

09/06/2026 13:17:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12263
                

09/06/2026 13:17:42 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 13:17:42] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:17:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:17:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12263
            GROUP BY l.idllamado;
            

09/06/2026 13:17:42 - INPUT: {"rutTecnico":"21773342"}
09/06/2026 13:17:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12263
            GROUP BY l.idllamado;
            

[09/06/2026 13:17:42] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:17:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:17:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12263
                

09/06/2026 13:17:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12263
                

09/06/2026 13:17:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12263
                

09/06/2026 13:17:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12263
                

09/06/2026 13:17:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 13:17:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 13:17:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 13:17:52 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 13:17:52] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:17:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 13:17:52 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 13:17:52] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:17:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:17:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:17:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 13:17:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 13:17:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 13:18:21 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 13:18:21] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:18:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:18:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 13:18:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 13:18:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 13:18:21 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 13:18:21] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:18:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 13:18:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:18:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 13:18:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 13:18:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 13:18:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 13:18:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 13:18:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                
[09/06/2026 13:31:07] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 13:31:07 - INPUT: {"rutTecnico":"21773342"}[09/06/2026 13:31:07] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 13:31:07 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WFC5891
            [FechaLlamado] => 09/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 08/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => AM-C400
            [FechaLlamado] => 05/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [RutCliente] => 69253200
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 04/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [RutCliente] => 76257428
            [ModeloMaquina] => WF-C878R
            [FechaLlamado] => 03/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => ESTUDIO 330AC
            [FechaLlamado] => 03/06/2026
        )

)

09/06/2026 13:31:10 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 13:31:10] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:31:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:31:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 13:31:15 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 13:31:15] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:31:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:31:20 - INPUT: {"rutTecnico":"21773342"}
09/06/2026 13:31:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

[09/06/2026 13:31:20] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:31:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:31:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 13:31:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 13:31:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 13:31:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 13:31:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 13:31:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 13:31:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 13:31:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 13:31:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 13:31:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 13:31:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 13:31:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 13:31:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 13:31:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 13:31:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 13:31:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 13:31:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 13:31:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 13:31:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 13:31:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 13:31:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 13:31:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 13:31:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 13:31:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 13:31:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 13:31:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 13:31:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 13:31:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 13:31:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 13:34:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 13:34:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 13:34:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 13:34:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 13:34:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 13:34:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 13:34:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 13:34:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 13:36:16 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:36:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 13:36:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:16 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 13:36:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

[09/06/2026 13:36:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 13:36:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 13:36:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 13:36:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 13:36:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 13:36:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:16 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:36:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:16 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:36:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 13:36:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 13:36:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 13:36:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 13:36:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:17 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 13:36:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

[09/06/2026 13:36:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 13:36:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 13:36:17 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 13:36:17 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:36:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 13:36:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 13:36:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 13:36:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:17 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:36:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:17 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:36:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 13:36:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 13:36:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:18 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:36:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:18 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:36:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 13:36:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 13:36:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 13:36:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 13:36:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 13:36:18 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 13:36:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

[09/06/2026 13:36:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 13:36:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:18 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:36:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:19 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 13:36:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

[09/06/2026 13:36:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 13:36:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 13:36:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:19 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:36:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 13:36:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:19 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:36:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 13:36:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:19 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:36:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 13:36:19 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:36:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 13:36:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 13:36:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 13:36:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:22 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:36:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:22 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:36:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:22 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:36:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:22 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 13:36:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

[09/06/2026 13:36:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:23 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:36:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:23 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:36:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:23 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:36:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:23 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:36:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:23 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:36:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:30 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 13:36:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

[09/06/2026 13:36:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:30 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 13:36:30 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 13:36:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

[09/06/2026 13:36:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 13:36:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:30 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:36:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:31 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:36:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:31 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:36:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:31 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 13:36:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

[09/06/2026 13:36:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:32 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:36:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:32 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 13:36:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

[09/06/2026 13:36:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:33 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:36:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:33 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 13:36:33 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 13:36:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

[09/06/2026 13:36:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 13:36:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:33 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 13:36:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

[09/06/2026 13:36:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:34 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:36:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:34 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:36:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:34 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:36:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:35 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:36:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:35 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:36:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:00 - INPUT: {"rutTecnico":"24456550"}[09/06/2026 13:38:00] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 13:38:00 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76464003
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 08/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TPORT LOGISTICS SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76917086
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 08/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 08/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76423913
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 08/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 08/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 04/06/2026
        )

)
[09/06/2026 13:38:00] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 13:38:02 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 13:38:02] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 13:38:06 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 13:38:06] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:08 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 13:38:08] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 13:38:11 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 13:38:11] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:13 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 13:38:13] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:18 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 13:38:18] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12940
            GROUP BY l.idllamado;
            

09/06/2026 13:38:19 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 13:38:19] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:19 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 13:38:19] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:20 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 13:38:20] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:20 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 13:38:20] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:21 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:21 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:21 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 13:38:21 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 13:38:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:21 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 13:38:21 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 13:38:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:21 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 13:38:21 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 13:38:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

[09/06/2026 13:38:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 13:38:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:22 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:22 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 13:38:22] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:22 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 13:38:22] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12946
            GROUP BY l.idllamado;
            

09/06/2026 13:38:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 13:38:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 13:38:22 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 13:38:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 13:38:23 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:23 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 13:38:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 13:38:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 13:38:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 13:38:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 13:38:23 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 13:38:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:23 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 13:38:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 13:38:23 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:23 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 13:38:23 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 13:38:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

[09/06/2026 13:38:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 13:38:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:23 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 13:38:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 13:38:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 13:38:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 13:38:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:25 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 13:38:25] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:25 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 13:38:25] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 13:38:29 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 13:38:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:29 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 13:38:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

[09/06/2026 13:38:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 13:38:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 13:38:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 13:38:29 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:29 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 13:38:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 13:38:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 13:38:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 13:38:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:29 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 13:38:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 13:38:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 13:38:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:30 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 13:38:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 13:38:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 13:38:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:30 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:30 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:30 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 13:38:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:30 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 13:38:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

[09/06/2026 13:38:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:31 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:31 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 13:38:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

[09/06/2026 13:38:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:31 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:31 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:31 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:31 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:32 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:32 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:35 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:35 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 13:38:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

[09/06/2026 13:38:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:35 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:35 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:35 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:35 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:35 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:35 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:35 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:42 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:42 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:42 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:42 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 13:38:42 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 13:38:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

[09/06/2026 13:38:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 13:38:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:42 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 13:38:42 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 13:38:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

[09/06/2026 13:38:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 13:38:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:42 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:43 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:29 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:22:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:22:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:22:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:22:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:22:29 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:22:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

[09/06/2026 14:22:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:22:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:22:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:22:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:22:30 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:22:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:22:30 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:22:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:22:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:22:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:22:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:30 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:22:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:22:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:22:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:22:30 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:22:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:22:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:22:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:22:30 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:22:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:22:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:22:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:31 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:22:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:22:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:31 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:22:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:22:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:22:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:22:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:31 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:22:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:22:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:31 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:22:31 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:22:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                
[09/06/2026 14:22:31] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[09/06/2026 14:22:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[09/06/2026 14:22:31] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 14:22:31 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 08/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 05/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 05/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ANDREA IVONNE GODOY MUNOZ
            [ciudad] => TOCOPILLA
            [RutCliente] => 15012006
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 05/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => REPROGRAMADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 3518A
            [FechaLlamado] => 05/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => REPROGRAMADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 05/06/2026
        )

)

09/06/2026 14:22:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:22:35 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:22:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:22:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:22:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:22:35 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:22:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 14:22:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:22:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:22:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:22:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:35 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:22:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:22:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:22:35 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:22:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

[09/06/2026 14:22:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:22:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:35 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:22:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:22:35 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:22:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:22:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:22:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:22:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:22:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:22:35 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:22:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:22:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:35 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:22:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 14:22:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:22:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:22:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:22:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:22:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:36 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:22:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 14:22:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:22:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:22:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:50 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:22:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:22:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:22:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:22:50 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:22:50 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:22:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 14:22:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 14:22:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:22:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:22:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:22:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:51 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:22:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:22:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:22:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:22:51 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:22:51 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:22:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 14:22:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 14:22:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:22:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:22:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:22:51 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:22:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 14:22:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:22:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:22:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:22:51 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:22:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:22:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:22:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:22:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:22:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:52 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:22:52] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:22:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:52 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:22:52] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:22:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:22:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:22:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:22:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:52 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:22:52] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:22:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:22:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:22:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:22:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:22:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:22:52 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:22:52] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:22:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:22:53 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:22:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

[09/06/2026 14:22:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:22:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:22:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:53 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:22:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:22:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:22:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:53 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:22:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:22:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:22:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:22:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:22:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:22:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:53 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:22:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

[09/06/2026 14:22:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:22:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:53 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:22:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:22:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:53 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:22:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:22:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:24:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:24:31 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:24:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:24:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:24:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:24:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:24:31 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:24:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:24:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:24:31 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:24:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

[09/06/2026 14:24:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:24:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:24:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:24:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:24:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:24:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:24:32 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:24:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:24:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:24:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:24:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:24:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:24:32 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:24:32 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:24:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:24:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

[09/06/2026 14:24:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:24:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:24:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:24:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:24:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:24:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:24:32 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:24:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:24:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:24:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:24:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:24:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:24:32 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:24:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:24:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:24:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:24:32 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:24:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:24:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

[09/06/2026 14:24:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:24:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:24:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:24:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:24:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:24:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:24:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:24:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:24:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:24:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:24:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:24:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:24:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:24:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:24:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:24:33 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:24:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:24:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:24:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:24:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:24:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:24:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:24:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:24:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:24:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:24:33 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:24:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:24:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:24:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:24:33 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:24:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:24:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:24:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:24:33 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:24:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:24:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:24:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:24:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:24:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:24:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:24:34 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:24:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:24:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:24:34 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:24:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:24:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:24:34 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:24:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:24:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:24:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:24:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:24:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:24:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:24:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:24:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:34 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:24:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:24:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:24:34 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:24:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:24:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:24:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:24:34 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:24:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:24:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:24:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:34 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:24:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:24:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:24:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:24:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:24:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:24:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:34 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:24:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:24:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:24:34 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:24:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:24:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:24:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:24:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:34 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:24:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:24:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:24:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:24:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:35 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:24:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:24:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:24:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:24:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:24:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:24:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:24:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:24:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:24:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:24:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:24:35 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:24:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

[09/06/2026 14:24:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:24:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:24:35 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:24:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:24:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:24:35 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:24:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:24:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:24:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:24:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:24:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:24:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:33:53 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:33:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:33:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:33:53 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:33:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

[09/06/2026 14:33:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:33:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:33:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:33:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:33:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:33:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:33:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:33:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:33:53 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:33:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:33:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:33:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:33:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:33:53 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:33:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

[09/06/2026 14:33:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:33:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:33:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:53 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:33:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:33:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:33:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:33:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:33:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:33:54 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:33:54 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:33:54] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 14:33:54] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:33:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:33:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:33:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:33:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:33:54 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:33:54] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:33:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:33:54 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:33:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 14:33:54] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:33:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:33:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:33:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:33:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:55 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:33:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:33:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:33:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:33:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:33:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:33:55 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:33:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 14:33:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:33:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:33:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:55 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:33:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 14:33:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:33:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:33:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:55 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:33:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 14:33:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:33:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:33:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:55 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:33:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:33:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:33:55 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:33:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:33:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:33:55 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:33:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:33:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:33:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:33:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:33:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:33:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:33:56 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:33:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:33:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:33:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:33:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:33:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:33:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:33:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:33:56 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:33:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

[09/06/2026 14:33:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:33:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:33:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:33:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:56 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:33:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:33:56 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:33:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:33:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:33:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:33:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:33:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:33:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:33:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:56 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:33:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:33:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:33:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:33:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:33:56 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:33:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

[09/06/2026 14:33:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:33:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:33:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:33:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:56 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:33:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

[09/06/2026 14:33:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:33:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:33:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:33:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:33:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:33:56 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:33:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:33:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:33:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:33:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:33:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:33:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:57 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:33:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:33:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:33:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:33:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:33:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:33:57 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:33:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:33:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:33:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:33:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:57 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:33:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:33:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:33:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:33:58 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:33:58 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:33:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:33:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

[09/06/2026 14:33:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:33:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:33:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:33:58 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:33:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:33:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:33:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:33:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:33:58 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:33:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:33:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:33:58 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:33:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:33:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:33:58 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:33:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

[09/06/2026 14:33:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:33:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:33:58 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:33:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:33:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:33:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:33:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:33:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:33:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:33:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:58 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:33:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:33:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:33:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:33:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:33:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:33:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:33:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:33:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:33:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:33:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:33:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:33:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:59 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:33:59] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:33:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:33:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:34:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:34:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:34:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:34:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:34:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:34:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:34:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:34:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:34:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:34:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:34:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:34:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:34:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:34:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:34:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:34:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:34:33 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:34:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:34:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:53:01 - INPUT: {"rutTecnico":"24456550"}[09/06/2026 14:53:01] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 14:53:01 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76464003
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 08/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TPORT LOGISTICS SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76917086
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 08/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 08/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76423913
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 08/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 08/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 04/06/2026
        )

)
[09/06/2026 14:53:01] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 14:53:04 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:53:04] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:53:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:53:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 14:53:12 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:53:12] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:53:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:53:14 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:53:14] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:53:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:53:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 14:53:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 14:53:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:53:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:53:15 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:53:15] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:53:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:53:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 14:53:18 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:53:18] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:53:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:53:20 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:53:20] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:53:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12940
            GROUP BY l.idllamado;
            

09/06/2026 14:53:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:53:23 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:53:23] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:53:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:53:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:53:37 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:53:37] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:53:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:53:40 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:53:40] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:53:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:53:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12775
            GROUP BY l.idllamado;
            

09/06/2026 14:53:41 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:53:41] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:53:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:53:44 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:53:44] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:53:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:54:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:54:11 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:54:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:54:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:54:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:54:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:54:11 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:54:11 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:54:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 14:54:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:54:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:54:11 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:54:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:54:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:54:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:54:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:54:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:54:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:54:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:54:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:54:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:54:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:54:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:54:12 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:54:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:54:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:54:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:54:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:54:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:54:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:12 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:54:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:54:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:54:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:54:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:54:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:13 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:54:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:54:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:54:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:54:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:13 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:54:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:54:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:54:13 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:54:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

[09/06/2026 14:54:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:54:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:54:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:34 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:54:34] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:54:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12940
            GROUP BY l.idllamado;
            

09/06/2026 14:54:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:54:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12940
            GROUP BY l.idllamado;
            

09/06/2026 14:54:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12940
            GROUP BY l.idllamado;
            

09/06/2026 14:54:36 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:54:36] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:54:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:54:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

09/06/2026 14:54:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

09/06/2026 14:54:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

09/06/2026 14:54:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12940
            GROUP BY l.idllamado;
            

09/06/2026 14:54:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

09/06/2026 14:54:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

09/06/2026 14:54:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12940
            GROUP BY l.idllamado;
            

09/06/2026 14:54:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

09/06/2026 14:54:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

09/06/2026 14:54:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12940
            GROUP BY l.idllamado;
            

09/06/2026 14:54:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

09/06/2026 14:54:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

09/06/2026 14:54:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

09/06/2026 14:54:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12940
            GROUP BY l.idllamado;
            

09/06/2026 14:54:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

09/06/2026 14:54:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

09/06/2026 14:54:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

09/06/2026 14:54:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12940
            GROUP BY l.idllamado;
            

09/06/2026 14:54:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

09/06/2026 14:54:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12940
            GROUP BY l.idllamado;
            

09/06/2026 14:54:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

09/06/2026 14:54:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

09/06/2026 14:54:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

09/06/2026 14:54:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

09/06/2026 14:54:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:54:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:57 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:54:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:54:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:54:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:54:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:54:57 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:54:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:54:57 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:54:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[09/06/2026 14:54:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:54:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:54:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:54:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:54:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:57 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:54:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

[09/06/2026 14:54:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:54:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:54:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:54:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:54:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:54:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:54:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:54:57 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:54:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:54:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:54:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:54:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:54:58 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:54:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

[09/06/2026 14:54:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:54:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:54:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:54:58 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:54:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:54:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:54:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:54:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:58 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:54:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:54:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:54:58 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:54:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:54:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:54:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:54:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:54:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

09/06/2026 14:55:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12940
            GROUP BY l.idllamado;
            

09/06/2026 14:55:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

09/06/2026 14:55:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

09/06/2026 14:55:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12940
            GROUP BY l.idllamado;
            

09/06/2026 14:55:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

09/06/2026 14:55:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12940
            GROUP BY l.idllamado;
            

09/06/2026 14:55:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

09/06/2026 14:55:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

09/06/2026 14:55:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

09/06/2026 14:55:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

09/06/2026 14:55:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

09/06/2026 14:55:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

09/06/2026 14:55:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12940
            GROUP BY l.idllamado;
            
=========================================
FECHA: 09/06/2026 14:55:05
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-T7wUNJZEbeHG+qj9LHr5bx44u4.uFta2DIH6UINb5bgU3ODqG7f
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "95111827",
    "serieinterna": "EP2757",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Entrega insumos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12940",
    "observacion": "•Llamado duplicado",
    "firma": "",
    "razonSocial": "DSPRINT MALL ANGAMOS",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "MALL ANGAMOS",
    "correoContacto": "dsprintmallangamos@gmail.com",
    "correoCliente": "dsprintmallangamos@gmail.com",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"DIA-I377\",\"id_control\":\"28960\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"DIA-I378\",\"id_control\":\"28960\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"GEN-I1022\",\"id_control\":\"28960\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"GEN-I994\",\"id_control\":\"28960\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"GEN-I1017\",\"id_control\":\"28960\",\"cantidad_usada\":4,\"cantidad_asignada\":4},{\"id_inventario\":\"DIA-I382\",\"id_control\":\"28960\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"DIA-I383\",\"id_control\":\"28960\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"SEL-I392\",\"id_control\":\"28960\",\"cantidad_usada\":3,\"cantidad_asignada\":3},{\"id_inventario\":\"MC-I957\",\"id_control\":\"28960\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-R1071\",\"id_control\":\"28961\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "14:55",
    "ubicacionGPS": "LatLng(lat: -23.6618402, lng: -70.4000079)",
    "horaLlegada": "14:53",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 14:55:05 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:95111827

[09/06/2026 14:55:05] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('95111827', 'EP2757', 1, 24456550, 0, NOW(), 
				'08:00', '14:53', '14:55', 10, '•Entrega insumos', -1, 
				'', '','1','0',
				'0',1,'', '•Llamado duplicado', null, 'COMPLETADO','LatLng(lat: -23.6618402, lng: -70.4000079)' )
				
[09/06/2026 14:55:05] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200648
[09/06/2026 14:55:05] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200648', 'DIA-I377', 1)
				
[09/06/2026 14:55:05] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28960 and
				    IDproducto = 'DIA-I377'
				

09/06/2026 14:55:05 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'DIA-I377';
                [09/06/2026 14:55:05] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200648', 'DIA-I378', 1)
				
[09/06/2026 14:55:05] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28960 and
				    IDproducto = 'DIA-I378'
				

09/06/2026 14:55:05 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'DIA-I378';
                [09/06/2026 14:55:05] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200648', 'GEN-I1022', 2)
				
[09/06/2026 14:55:05] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28960 and
				    IDproducto = 'GEN-I1022'
				

09/06/2026 14:55:05 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'GEN-I1022';
                [09/06/2026 14:55:05] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200648', 'GEN-I994', 2)
				
[09/06/2026 14:55:05] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28960 and
				    IDproducto = 'GEN-I994'
				

09/06/2026 14:55:05 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'GEN-I994';
                [09/06/2026 14:55:05] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200648', 'GEN-I1017', 4)
				
[09/06/2026 14:55:05] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 4
				WHERE
				    IDcontrol = 28960 and
				    IDproducto = 'GEN-I1017'
				

09/06/2026 14:55:05 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 4)
                WHERE ID = 'GEN-I1017';
                [09/06/2026 14:55:05] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200648', 'DIA-I382', 1)
				
[09/06/2026 14:55:05] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28960 and
				    IDproducto = 'DIA-I382'
				

09/06/2026 14:55:05 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'DIA-I382';
                [09/06/2026 14:55:05] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200648', 'DIA-I383', 1)
				
[09/06/2026 14:55:05] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28960 and
				    IDproducto = 'DIA-I383'
				

09/06/2026 14:55:05 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'DIA-I383';
                [09/06/2026 14:55:05] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200648', 'SEL-I392', 3)
				
[09/06/2026 14:55:05] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 3
				WHERE
				    IDcontrol = 28960 and
				    IDproducto = 'SEL-I392'
				

09/06/2026 14:55:05 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 3)
                WHERE ID = 'SEL-I392';
                [09/06/2026 14:55:05] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200648', 'MC-I957', 2)
				
[09/06/2026 14:55:05] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28960 and
				    IDproducto = 'MC-I957'
				

09/06/2026 14:55:05 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'MC-I957';
                [09/06/2026 14:55:05] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200648', 'EPS-R1071', 1)
				
[09/06/2026 14:55:05] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28961 and
				    IDproducto = 'EPS-R1071'
				

09/06/2026 14:55:05 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-R1071';
                
09/06/2026 14:55:05 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200648'                    
				WHERE idllamado = 12940			
				TO ENVIO: dsprintmallangamos@gmail.com, dsprintmallangamos@gmail.com


09/06/2026 14:55:06 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12940			
				
09/06/2026 14:55:06 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


09/06/2026 14:55:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

09/06/2026 14:55:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

09/06/2026 14:55:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

09/06/2026 14:55:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12940
            GROUP BY l.idllamado;
            

09/06/2026 14:55:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

09/06/2026 14:55:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

09/06/2026 14:55:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

09/06/2026 14:55:08 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:55:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12940
            GROUP BY l.idllamado;
            

[09/06/2026 14:55:08] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:08 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:55:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

[09/06/2026 14:55:08] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12940
            GROUP BY l.idllamado;
            

09/06/2026 14:55:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

09/06/2026 14:55:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

09/06/2026 14:55:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

09/06/2026 14:55:27 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:55:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:27 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:55:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:27 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:55:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:27 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:55:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:27 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:55:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:27 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:55:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:28 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:55:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:28 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:55:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

[09/06/2026 14:55:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:28 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:55:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:30 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:55:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:30 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:55:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:30 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:55:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

[09/06/2026 14:55:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:31 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:55:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:31 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:55:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

[09/06/2026 14:55:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:31 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:55:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:31 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:55:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:31 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:55:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:31 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:55:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:38 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:55:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:39 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:55:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:39 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:55:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:39 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:55:39 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:55:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 14:55:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:39 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:55:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:39 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:55:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:39 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:55:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:39 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:55:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:40 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:55:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:40 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:55:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

[09/06/2026 14:55:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:40 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:55:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:40 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:55:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:40 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:55:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:40 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:55:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:41 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:55:41] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:41 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:55:41] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:41 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:55:41] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:42 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:55:42] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:42 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:55:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12897
            GROUP BY l.idllamado;
            

09/06/2026 14:55:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12897
                

09/06/2026 14:55:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[09/06/2026 14:55:42] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12897
            GROUP BY l.idllamado;
            

09/06/2026 14:55:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12897
            GROUP BY l.idllamado;
            

09/06/2026 14:55:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12897
                

09/06/2026 14:55:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12897
                

09/06/2026 14:55:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12897
                

09/06/2026 14:55:45 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:55:45 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:55:45] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12897
            GROUP BY l.idllamado;
            

[09/06/2026 14:55:45] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12897
            GROUP BY l.idllamado;
            

09/06/2026 14:55:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12897
                

09/06/2026 14:55:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12897
                

09/06/2026 14:55:46 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:55:46 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:55:46] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 14:55:46] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12898
            GROUP BY l.idllamado;
            

09/06/2026 14:55:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12898
                

09/06/2026 14:55:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12898
            GROUP BY l.idllamado;
            

09/06/2026 14:55:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12898
            GROUP BY l.idllamado;
            

09/06/2026 14:55:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12898
                

09/06/2026 14:55:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12898
                

09/06/2026 14:55:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12898
                

09/06/2026 14:55:47 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:55:47] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:47 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:55:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12898
            GROUP BY l.idllamado;
            

[09/06/2026 14:55:47] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12898
                

09/06/2026 14:55:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12898
            GROUP BY l.idllamado;
            

09/06/2026 14:55:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12898
                

09/06/2026 14:55:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12897
            GROUP BY l.idllamado;
            

09/06/2026 14:55:48 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:55:48 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:55:48] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12897
            GROUP BY l.idllamado;
            

[09/06/2026 14:55:48] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12897
                

09/06/2026 14:55:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12897
            GROUP BY l.idllamado;
            

09/06/2026 14:55:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12897
                

09/06/2026 14:55:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12897
                

09/06/2026 14:55:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12897
                

09/06/2026 14:55:50 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:55:50 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:55:50] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 14:55:50] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12897
            GROUP BY l.idllamado;
            

09/06/2026 14:55:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12897
            GROUP BY l.idllamado;
            

09/06/2026 14:55:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12897
                

09/06/2026 14:55:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12897
                

09/06/2026 14:55:51 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:55:51] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12901
            GROUP BY l.idllamado;
            

09/06/2026 14:55:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12901
            GROUP BY l.idllamado;
            

09/06/2026 14:55:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:51 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:55:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12901
                

[09/06/2026 14:55:51] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12901
            GROUP BY l.idllamado;
            

09/06/2026 14:55:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12901
                

09/06/2026 14:55:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12901
                

09/06/2026 14:55:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12901
                

09/06/2026 14:55:53 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:55:53 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:55:53] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12901
            GROUP BY l.idllamado;
            

[09/06/2026 14:55:53] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12901
            GROUP BY l.idllamado;
            

09/06/2026 14:55:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12901
                

09/06/2026 14:55:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12901
                

09/06/2026 14:55:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12901
                

09/06/2026 14:55:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12901
                

09/06/2026 14:55:55 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:55:55] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:56 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:55:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12946
            GROUP BY l.idllamado;
            

09/06/2026 14:55:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12946
            GROUP BY l.idllamado;
            

[09/06/2026 14:55:56] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:56 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:55:56] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12946
            GROUP BY l.idllamado;
            

09/06/2026 14:55:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:55:56 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:55:56] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:55:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 14:55:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 14:55:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 14:55:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 14:55:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 14:55:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 14:55:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 14:55:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 14:55:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12946
            GROUP BY l.idllamado;
            

09/06/2026 14:55:57 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:55:57] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:55:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12946
            GROUP BY l.idllamado;
            

09/06/2026 14:55:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12946
            GROUP BY l.idllamado;
            

09/06/2026 14:55:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12946
            GROUP BY l.idllamado;
            

09/06/2026 14:55:57 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:55:57] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:55:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:55:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:55:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:55:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:55:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:55:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12946
            GROUP BY l.idllamado;
            

09/06/2026 14:56:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12946
            GROUP BY l.idllamado;
            

09/06/2026 14:56:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12946
            GROUP BY l.idllamado;
            

09/06/2026 14:56:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12946
            GROUP BY l.idllamado;
            

09/06/2026 14:56:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 14:56:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 14:56:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 14:56:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 14:56:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 14:56:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12946
            GROUP BY l.idllamado;
            

09/06/2026 14:56:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 14:56:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12946
            GROUP BY l.idllamado;
            

09/06/2026 14:56:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 14:56:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 14:56:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12946
            GROUP BY l.idllamado;
            

09/06/2026 14:56:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12946
            GROUP BY l.idllamado;
            

09/06/2026 14:56:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12946
            GROUP BY l.idllamado;
            

09/06/2026 14:56:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12946
            GROUP BY l.idllamado;
            
=========================================
FECHA: 09/06/2026 14:56:13
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-x5M3QMtoxXwl6gJtuZJLRgPQ5eBn_u+UaWVNtPZBQBm0XT1ozz+
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "79783050",
    "serieinterna": "TO3107",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Entrega insumos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12946",
    "observacion": "",
    "firma": "",
    "razonSocial": "SOCIEDAD EDUCACIONAL MAGISTER LTDA.",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "KENIA DIAZ",
    "correoContacto": "kenia.diaz@hssanesteban.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-I1047\",\"id_control\":\"28965\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "14:56",
    "ubicacionGPS": "LatLng(lat: -23.6618527, lng: -70.3999906)",
    "horaLlegada": "14:53",
    "horaDespacho": "14:55",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 14:56:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:79783050

[09/06/2026 14:56:13] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('79783050', 'TO3107', 1, 24456550, 0, NOW(), 
				'14:55', '14:53', '14:56', 10, '•Entrega insumos', -1, 
				'', '','1','0',
				'0',1,'', '', null, 'COMPLETADO','LatLng(lat: -23.6618527, lng: -70.3999906)' )
				
[09/06/2026 14:56:13] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200649
[09/06/2026 14:56:13] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200649', 'TOS-I1047', 1)
				
[09/06/2026 14:56:13] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28965 and
				    IDproducto = 'TOS-I1047'
				

09/06/2026 14:56:13 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-I1047';
                
09/06/2026 14:56:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:13 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200649'                    
				WHERE idllamado = 12946			
				TO ENVIO: micorreo@miempresa.cl, kenia.diaz@hssanesteban.cl


09/06/2026 14:56:14 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12946			
				
09/06/2026 14:56:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


09/06/2026 14:56:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12946
            GROUP BY l.idllamado;
            

09/06/2026 14:56:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12946
            GROUP BY l.idllamado;
            

09/06/2026 14:56:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12946
            GROUP BY l.idllamado;
            

09/06/2026 14:56:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:15 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:56:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12946
            GROUP BY l.idllamado;
            

[09/06/2026 14:56:15] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12946
            GROUP BY l.idllamado;
            

09/06/2026 14:56:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:16 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:56:16 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:56:16] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 14:56:16] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12775
            GROUP BY l.idllamado;
            

09/06/2026 14:56:18 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:56:18] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12775
                

09/06/2026 14:56:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12775
            GROUP BY l.idllamado;
            

09/06/2026 14:56:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12775
            GROUP BY l.idllamado;
            

09/06/2026 14:56:18 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:56:18] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12775
            GROUP BY l.idllamado;
            

09/06/2026 14:56:18 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:56:18] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12775
            GROUP BY l.idllamado;
            

09/06/2026 14:56:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12775
                

09/06/2026 14:56:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12775
                

09/06/2026 14:56:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12775
                

09/06/2026 14:56:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12775
                

09/06/2026 14:56:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12775
                

09/06/2026 14:56:19 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:56:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12775
                

09/06/2026 14:56:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:19 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:56:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12775
                

09/06/2026 14:56:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:19 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:56:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:19 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:56:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:20 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:56:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:20 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:56:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 14:56:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:20 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:56:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:20 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:56:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:20 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:56:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12775
            GROUP BY l.idllamado;
            

09/06/2026 14:56:21 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:56:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12775
                

09/06/2026 14:56:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12775
            GROUP BY l.idllamado;
            

[09/06/2026 14:56:21] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12775
                

09/06/2026 14:56:21 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:56:21] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12775
                

09/06/2026 14:56:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12775
                

09/06/2026 14:56:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12775
            GROUP BY l.idllamado;
            

09/06/2026 14:56:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12775
            GROUP BY l.idllamado;
            

09/06/2026 14:56:21 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:56:21] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:21 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:56:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:21 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:56:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:21 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:56:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:22 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:56:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:22 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:56:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:22 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:56:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:22 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:56:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:22 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:56:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:22 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:56:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:56:22 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:56:22 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:56:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

[09/06/2026 14:56:22] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

[09/06/2026 14:56:22] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:56:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:56:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 14:56:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 14:56:22 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:56:22] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:56:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 14:56:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:56:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:56:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:56:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:23 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:56:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:23 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:56:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:23 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:56:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:24 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:56:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:24 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:56:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:24 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:56:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:24 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:56:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:24 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:56:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

[09/06/2026 14:56:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:24 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:56:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:56:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:56:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:56:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:56:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 14:56:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 14:56:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 14:56:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 14:56:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                
=========================================
FECHA: 09/06/2026 14:56:26
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-SlSy5JRKebi.szEeseZpRNDml-MzGlIhh_L7JdBpFpDI_96m6E_
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69020400",
    "serieinterna": "EP3135",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "1080",
    "contadorColor": "3001",
    "contadorScanner": "0",
    "detalle": "Mantenimiento\nconfiguracion",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12948",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADUAP4DASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABEEAABAwMCAwUFBQUFBwUAAAABAAIDBAURBiESMUETUWGBkSIycaGxFELB0fAVFiMzUiQ0YpLhB0OissLS8TVWcnTi\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMREAAgECBAELBAMBAQAAAAAAAAECAxESITFBBBMiMlFhcYGhwdHwFCORsTNC4VLx\/9oADAMBAAIRAxEAPwD9mREQBERAEREAREQBERAEREAREQBEXhIAyTgBAerhTVlNWdp9nnZL2buB\/Cc4Kzl0u1Ve602eyvwwf3ipB2A6gHu+qvbVaqa0Ubaenb4veebz3lTcbLPUohVc52islv7E1ERQLwiIgCIiAIi+XvZGwvkcGNaMlzjgBAHOaxhe44a0ZJ7gqTSldWXGhqKqqkL2vnIiBAyG4Hd+ua+r9eqKKzVjYa6ndOYywMZKC7J25A52yvrSbIYtPUzI5GPdwl7+FwOCSTvj08lZa0GzK54q6inomy5REVZqCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAsndrjUagrzZbU\/+Bj+0VA5DfceI6eJ8F1u12qbrXGyWd2HbioqByYOoB\/Xcrq1WqmtFG2np2+L3nm895Vi5mb1Mkm67wR6O76+xep7bLXS2mkbT0zMAe84+8895KmIig3fU1Rioqy0CIi4dCIiALhV1lNQwmaqnZCwdXHGfh3qrvOpIqB4pKNn2uuceEQs34T44+ih0emJrg9tbf53zzHcQB2Gs8P9BspqOV5GadZt4Kau\/JHzLqG53iYw6fpf4TTh1VKNvny+Z8F6zSNRWuEl5us1Qd\/YjOAPM\/ktLFFHBE2KFjY42DDWtGAAvpzg1pc4gADJJ6LuO3RyOfTqWdV3\/X4MPe7DbWXa32qggMUs54pX8bnYZ8CT3OPkrOr0g2nk+12Ooko6hg9lnES13hk7jPjkLzTzDdb5W353F2RPY04PUDG\/pj1K06lKclZXKaPD06ic8Ory2yXy5T6dvTrtTSMnZ2dVTnglbyye\/HTfPorhZeuaLTrWjqoxiO4DspGg4y7YZ\/5f0VqFCaWq3NFCUmnGWqy9giIoGgIiIAiIgCIiAIiIAiIgCIiALO6gvMrpv2LawX1sw4XuBx2QPPfvx6KRqO+\/sinZFA3tKyfaJgGceJH0HVNP2M21j6uqd2tfUbyvO\/DnfhHnzVkVZYmZaknUlyUPF9X+skWOzQ2WgEEftSO9qWT+p35dyskRQbbd2aIxUIqMdAiIuEgiLwkAZJwAgPVmblequ51htVhcC4fzqoH2WDwP4+i43K71N\/qTabIT2XKoqegHcD3fVX9qtVNaKNtPTt8XvPN57yrLKOb1Mjm67wwfN3fovcjWbT9LaGceO2qnZ453Dc5547lbIig227s0QhGCwxVkFQarrZW0kVrpd6mvd2YHc3qfw+Ge5XVTUR0lNLUzO4Y4mlzj4BZzTdLLc7jNqKrGDISynYR7reWR5ZHqpQVuc9imvJu1KOr8luaCgoorfQw0kPuRN4c956nzOSpCIoGhJJWRmNZgxG2VgG8NUN\/jg\/8AStOsxrv2rVTRcuOpG\/d7LvzWnU5dFGen\/NPwCIigaQiIgCIiAIiIAiIgCIiAKHdbnT2ihdVVBOAcNaObndAFJlljghfNK8MjYC5zjyAWTpYX6tu7qypa\/wDZlMcQMIwJD+ufkFOMb5vQorVHG0YdJ6e5K07ap6md17uzS6qlOYWOG0behA6eHd5rSoi5KWJ3J0qapxsgiIolgREQBZa93Kou1f8AsC1Ow7P9pm6NA5j8\/RSdS3qajMVut4L66p2bjmwHbPxP4FTLFZIbLScAPHUSYM0n9R7h4KxLCsTMlSTqy5KOi1foSLXbKe00TKanbgDdzurz1JUribx8HEOLGcZ3wqy\/XuOz0zeECSplOIou\/wAcDoo9gtNZDNJdLpM59bO3hLM7Mb3bbfkuWusTLFNRkqUFpr2F6iLOaiu0skgslsy+snGHuaf5beu\/fj0C5GOJ2J1KipxxMi3ed+pru2y0cmKWE8dRM0Z3HQfrn8Fqooo4IWQxMDI2ANa0cgFCstpis9uZTMw5\/OSTG73frkrBdk9loV0abV5z6T8uwIiKBoMxrUF8duixs+qHLn+t1p1ltSYqtTWai2Ia\/tHDvGR\/2lalWS6KM1LOrUfd+giIqzSEREAREQBERAEREARFS6kvDrdSspqUF1bVnghaOYztn57eK6k27IhUmqcXJlfeKmTUF1bYqOQtp4zmrlDcgEHl6j1+C0lLTRUdLHTQN4Y4mhrQoGn7M20UOH+1UzYdO\/Ocu7vLKtVKTWi0KqMHnUn0n5LqCLPazqZYrVFTwPLJamdrBgkbc+fxwr2CMw08cROSxgbn4BcayuWKpebh1HRERRLAolzuENroJKyfJawbNHNxPIBS1kqk\/vRqRlKwF1Bb3ZlOBh7snb4HGPVSirvPQorVHCNo6vJfOwlaUtr+CS81g4qqtPG3I9xp7vj9MK+qaiOkppamZ3DHE0ucfALo1oa0NaAABgAdFltSzPu12pdP05w0uElQ4fdHP6b+YUunLMg7cPSss3+2xYaaW93V+oKwODGktpGHGA3cfL65WqUWWaitFCHSPjpqeIYHQDwA6lZuS53bU8joLSx1HQg4fUv2ce\/H5DzIylnN32OKUaEcOsn+WyZeb9K+p\/ZNmHa1smzpG+7EOu\/f9FLsVhis0JcXmWqkH8WQnme4frddbNY6Sy0\/ZwDikd78rh7TvyHgrJccla0SVOlJy5Sprt2fOsIiKBpCIviWWOCJ0sz2xxsGXOccABBoZlv9r\/2iuPMUdPtv3j\/9rUr82jvNdBX3G60UQMckuDK5uzW8Ww36nZfoVFNLUUUM00YjkkYHOYDkAnxVtSLVjDwlWM8SWt2zuiIqjcEREAREQBERAEREBwrayGgo5aqd3DHGMk\/QeqzunaKa6V0moa9o4pNoIyNmgbcQ9MepXxdnu1Hf47RA8\/ZKU8VUQThxB3b8RyHiT3LUxRMhiZFG0NYxoa1o6AcgrOjHtZkX3ql\/6x83\/h9rhW1TKGimqpBlsLC8gdcdF3VBrSr+z6fkjDsOneGDbmOZ+ijFXaRdWngpuXUVVDcHap1NSTdgYoaJhkLeLi9rO2\/+X09NosnoGj7O31FY4DimfwNPg3\/U\/JaxSqWxWWxTwak6eOWsswiLlPVU9M3iqJ44h3yPDfqqzU2lqV2pLmbZaXuiJ+0THsoQOfEevkPnhfWnrYLXaYoi0CZ445SBzcfIcllLrf6ar1PHM5jqmkowRExgBEjup36Z+QCtft2qrscUtIy3Qkj25R7WMePPyCucGopHnx4iEqrlm7ZJLzZoLjcILZRyVM7wAxpIaTgvPcPFYew3GvfVVdRR0JqrhVO9qV20cTefzPTPQLy6WLF5pbe6tkrK2pdxSyO2DG\/PuJ8hst\/BTw0sLYYI2xxtGA1owAu82Eeu4SqcRUu+ao+OZQQaXlrZhVX6rdWSD3YmkhjP15LQxxsijbHGxrGNGGtaMADwC+kVTk3qbadKFPor3CIiiWBEXjnBrS5xAAGST0QHGsq4KClkqah4ZHGMk\/gPFYyt+3aioam6VUj6a3QNc6CBvOQgbH16\/EBS3CXWF1c3i4LTRyY2P813f5j0B8VK1pNHR6dZSRgMbK9rGsaNg1u\/4BXxWFpbnnVpcrCU30F5v2M9a6YXRlus0ZzGHuqaotO3cOXXAA+Ll+itaGtDWgAAYAHRZ7RtpdQW01U7SJ6nBwRu1g5D8fRaJRqyu7It4Ok4U8T1fxHy97Y43SPcGtaCXE9AqexX917qKsMpuGnhdhkufeB5Ajv2J9FVayuz3vZZaM8UspAlDee+OFvnlX1itbbRaoqUe\/70h73Hn+XkuYUo3erOqrKdbDHSOvf1FiiIqzWEXxLNFAwyTSMjYObnuACqKnVtlpsj7X2rh0iaXZ8+XzXVFvQhOpCHSdi6RZg60ZMcUFqq6k\/\/ABxn0yvBedUVX92sjIgeRmJGPUhS5OW5T9VTfRu+5M1Cp9S3b9l20iI\/2qoyyFo556kfDP0Va9msHxvllrKSjjaC52wPCBz5Aqottqumpp31s1xkYIHARTlp3OebRtjGAVOMEs28imrxM5LBCLuzVads4tNvxJ7VVN7c78k5O+B5Z+qsZaumg\/nVEUe+PbeAs9+5r5f73eqyfrzxv37krtFoizR+82eXb78n5YUXhbu2Tg6sYqMYWS637E6XUdmh964wHfHsO4vosfq++012fTxUUvaQx5c4lhGXH4+H1Wui0zZYfdt8R2x7eXfVZzW9qo6WOCrgDYXHEQhjjAaQMknb4gKdPBiyKOLVd0XitbsPnT97rKG0x0tJZ6iqdxFxeMhu58AfBWf27V9R\/LtlNA09XuGR\/wAX4Kz05UU9RYqb7NngjYIzkY9oDf8ANWijKSu8i2jRk6cee7W2sZc2bU1ccVt5bAzq2nGD8gPqoV501QWq0z1s9RUVNRjhYXu24j1+p3K2qy2p83S9W6yswWl3azDJ2H\/gO9V2E22Rr0IRpt6t5K7vmyfpa1x2+ywuMY7aYdq9xG+\/IeQ\/FXEkjIo3SSO4WMBc49wC9AAGAMAKh1jXPpbKYIie1qnCIBoySOv5eahnORpeGhRy2RG0vGbjca++TMIMjzHDk54W9fwHqtQolqohbrXT0g3MTACcczzPzypa5N3Z2hBwppPXfvCIiiXBEUWpudDR\/wB5q4Yj3OeM+nklrnG0ldkpZrVNwnlfHYrfk1VUPbxyDMHI+Xp8UuGt7bS8TKVr6qQDYt9lnqfwCyNHUmor5quouzaJ85Je9sb3O36DA29Qr6dN6s87iuKg1ycHrr3d+hvG1Np0xQRUktSyMMHLGXvPU4G+6zNFVyaq1bDLKzFPTgvbGTkBo5Z8SSMqtt9Fa625uEtYIKOEcTnzPDXzfAdPhzWl0RStMVZceDgE8nDG0H3Wjpjzx5KTSgm9ymM515xhZKPV3GqVfe7tFZrc+pfh0nKOMnHG79bqZNNHTwvmmeGRsGXOcdgF+bV9ZU6qv8UUY4Wud2cLejW8y4+W5+CqpwxO70NvFV+SjaPSehbaNtkldWyXqsLpHNeRGXH3n43Pln9YW3Ueho4rfQxUkIwyJuB4nqfM7qQuTlidyzh6PJU1HffvONXV09DTuqKqVsUTebnfrdZsXq+X1722amZT0ucCpmG\/5egKsbjYTdLtFPV1BfRxNy2mxjLvHwVuxjI2BkbQxrRgNaMAInGK62RlGpUk03hj5v2M1Fo4VDxLd7hPWSYGWhxAHmd\/orimslrpMGGggaRycWAn1O6nouOcnuThQpw0R4AAMAYAXqKNcK6G20MtXO4BsbSQM44j0A8So6lrairso9UVklVNBYKR38erIMpA91n6GT4DxV7QUUVvoYaSH3Im8Oe89T5nJVJpWgmeJr1XtBqqwhzCQPZZjmO7P0AWjVk3bmoz0E5N1ZavTsXzMIiKs0hYHV1Q+7aggt1N7Zi\/hgYI9tx38uS1d\/urbRa5J8jtXDhiaerj1x4c1nNB0Paz1Nyly4tPZscc8zu78PVXU+anM8\/inyk40Fvr3GuoKKK30MNJD7kTeHPeep8zkqQiKk3pJKyPHODWlziAAMknosC2+NirrjfcF75T9npA7oOrvIcO3+LzWl1XcH0Nle2E\/wAaoPZMA5788eWfVYC5OzLDQxNBFK3s\/YGeN5OXHx3OB4ALRSjdZnl8dWcZJR2\/e3qb7SdbW19n+0Vsple6Vwa4tA9kADp45UGYm765ih3MFtZxnbbi2P1I\/wAqvKCnjtNnihcQG08WXkd+MuPrlZvTVfS0dLW3m4TMifVzHhBOXEDfYDfmfkorVtF08o06c32vw\/02K8JAGScALGXDXw923UvxfP8AgAfxVIau9agfwl9VVDk6OIcLB3ZwMevdzRUZavIT4+mnaHOZua\/U1ptznMlqRJI04McQ4iPw+az1Zr+YgiiomsGcB8p4vkMeHVcaLQ1dOAauSGkaQMtaO0dkeeB5FaKg0naaI8ZhNTJnPHOeL5cl37ce0rvxlbTmr582MpE\/VGoSGtkqDC\/m7+XHj4jAPzVxb9BwtHHcqgyvJzwRHDfU7n5LWgADAGAFW3y809oonvfK0Tuaeyjzu4\/Nc5STyjkT+kpU1jqvFbrMxVUduq9S\/ZYIYaegt7eKpkDQMkcwT13wMfFGW9uqq4mio4aG2wuwZWQta6Q\/ED5ch1XKw6er7o0vrC6Gilf2j\/uumPTbu3Prst3T08VLAyCCMRxsGGtbyClOeHJalNCg6yxSVk8+\/qXd+zJ6utlsoLRE2nomNqJHtjjcxp4ttzy592+efp8wGv0bJE2peam2zYDiOcTuuB8c\/H4qRITedcMYHZp7Y3iIxtx\/+cf5fNdtW3BroGWenjZPVVZA4DvwDofiibyizsoxTnWjlbJeH7u8is1JeWXaZ1FTTD7BA3tJ5m\/fI5NB69APHwCnaOtLo4Tdalo7adobEMDDY8DB+XoqGx2youk7LVNC6GmgkMtQeRccYA\/DzJX6M1oa0NaAABgAdFyo1FYUd4WDrT5afz\/z9nqIioPUCLMz3GqtGruCtneaGtaBEXH2Yz9Bvz+IJWmUnGxXTqKd1umERFEsCyd2J1Jf4rTA\/NLRnjqXbjLs4I+PTzPcrjUF3ZZrY+fnK\/2Ih\/ixz+AXLTFnNqt3FMSampIklJ5jbZvlk+ZKsjzViMtX7s1SWmr9F4lw1oa0NaAABgAdF6iKs1Bc5po6eF80zwyNgy5zjsAvtzg1pc4gADJJ6LJVs82rq4W+iLmW2B4M84++e4fh69ylGNymrVwLLNvRFVeKmW+Q1V1nJZR0zuypGYx2hJ5+gyfILX6cof2fYqaEjD3N43753duqjUEMctzs9igjDYQ8SOYP6Rt9A7mtWrJy5qRm4elarKTzayv26v0QRFDu1wZa7ZNWPwSxvstP3nHkPVVJXyN0pKKbZitVXH7XfnNjfxtoxwRMHWU88fA\/8uOq+JrJLNXU1noyxtRSwGWZ+f8AeHfGR3eyMppK3msuUl0qRxQ0uZCdt38xt4c\/IK+0ax1Sytu0o\/iVUxA3zsP9T8lqk8CstjxKdN15Ypf2fkviRBrdUGXTtVRVjXQ3IDsns4SOLcAnw2zt+C+KHQYmgimqa0tD2NdwMZuMjlk\/kpWuIIJRQxiNgqJ5uESBvtcPLHiMuC6Gm1ZbMtpp4a+FvuNkI4sdxzj69FBO0eblctlC9VqqnJRssvUn0ekrNSYP2bt3D70x4s+XL5K4YxkbAyNoY1owGtGAFmv3lvUXsy6aqHu74y7H\/KU\/em6\/+2Kz1d\/2KDjN6\/s1wrcPBWireD9jTrnNPDTRGWeVkUbebnnACzZqtWXIf2ekht8Z+9Kfa+eT8l7HpGWrmbNebnNWYOeyBIb8PAfDC5gS1ZLl5y\/jg\/HJe58z6nrLlOaXT9IZd8Goe3DW+ODy8\/RU09hkk1FR0NXVPqqmb+JVOB2a3ngE+AO\/iNlvoKeGlhbDBG2ONowGtGAFm7OftetLrUOIf2Leyaf6dwNv8p+anGVr4TPWouTiqju2\/BbmnAAGAMAKHd7lHarbLVv3LRhjce87oFNWA1Peoay+xQlpmpaM7saQRK\/u+HIeqrhHEzTxNbkqd93oTbbWfu7Zn1lXmW4XF\/aMhx7Tu7PXmSfNWem7LLS9rcbgA6uqTxEncxg9Pj\/4XKxWWearfebwOKre7MUbuUY6HHTwHT48tIpTlqkVcPRbSlLRaL1fa\/I8DQCSAATzPevURVG4IiICFdbXT3eidTVA25tcObD3hUdtvE1iqBaL27hY0Yp6nHsubyAP59Oq1Ki19upLnTmCrhbI08iRu094PRTjLZ6FFSk28cMpfvvJLXBzQ5pBBGQR1XqyX2DUOnN6Cb9o0bf9y4Zc0eA5+h8lyuOtWSW2eBtLNTVjhwcL8YbnmeX1C7ybemZW+LjFfcVn80Z3iaNTandM8H7DbThg6PfnxHhv8B3rVrM6fudjtdoiphcIe096U7jLzz6dOXkp0+q7LBGX\/bWyHo2NpcT+vFdkm3ZI5QnTjDFKSu83n80LhcKutpqCAz1UzIox1cefwHXyWcOqLncncFmtL3Nzjtp+Xy2HqutPpeetqhWX6rNVIPdhbsxv+nhsuYLdIl9Q55Ulft2Ir6i5aukdDSh1JagcPkcPak\/Xd6rT0VFT2+lZTU0YZGwbDv8AE+K7RxsijbHGxrGNGGtaMADwCSPEcbpDyaCSuSlfJaE6dLBzpO76\/YzNrAuGtrjVndtI3sm7cjy\/B3qtQs1oiNzrdU1kmOOpqCTjw\/1JWlSp0rEeF\/jxdd3+QsfrSpmq6ujstMQXyuDnNB6k4bnw5laW53CG10ElZPktYNmjm4nkAqXS1vnlfJfbhk1VUPYzyDMDB+Xp8V2GXOZHiL1LUY7693+nzeY47BpEW+n3kmxEO95du47efqFd2qiFvtdNSDnGwB3LnzPzyu1RSU9WGCohZKI3cbQ8Zwe9dlFyurFkKWGeLaySMxqn\/wBc0\/8A\/Z\/6mLTrMau\/hVtmqSMNiqt3HkN2n8PktOuy6KI0v5anh+giIoGkIiIAsdFVVGm7zc5JqCaoZWzccbogcYyT1H+ILYqDdbtS2ikNRUv3+4wH2nnuCnF7W1KK8E0p4rW3Mpc9U3ueeOkpaN1E+XZjSOKR2+NsjYc+nTmrzT+mKa0xsnlaJawtBLnbiM43DfzUfTdsqJpnXy6BxrJSeyDvuMx3dOZ8vitKpTlbmxKOHpOT5Wpm9r7BERVG4IiIAiIgCIiALIUbGan1TNWStEtBRDgja4Za874269T6Ky1bczb7SYYSftFWeyjA54+8fTb4kKZYbYLTaYabA7THHKR1eefpy8lYubG\/WZKn3aqp7LN+i9Tx2nbM45Nug8m4X1DYrVTv4o6CAEHOS3P1VgihifWX8lT1wr8HgAAwBgBeoi4WBRLs8x2eteObaeQ\/8JUtRLrG+a0VkUY4nvge1ozzJacLq1IT6LsV2jmBumaYj75eT\/mI\/BXMsscEL5pXhkbAXOceQCyFj1PbrXp+mppjK+oZxZiYw53cSNzt1C6Mp7tquRslXmitgdxNiA9qTB69\/wATt4K2UHibehjpV4qlGEM5WWXuGGbWFzZIWGO1Uj8gOH85369AfFa1rQ1oa0AADAA6LlS00NHTR00DOCKMYaF2VcpX00NNKm4JuTu3qERFEuKXVVukuFnd2DeKaB3asHfgb\/JSbHdY7vbI6lpAkxwyt\/pcOf5+asVma6x1ltr3XSxEcTv5tK73Xjw\/L0Vis1hZmqKVOfKRV09V6mmRZhus\/sxLLpa6qle08JLRkZ88fiuv78Wfg4sz5\/p7Pf6rnJy6guKo\/wDRokWZOt6WXLKGgq6mb7rA0AH0JPyXy+PVF6YWv7O1wO5YPtkePX6Jyb3yH1MH0Od3e+hZXfUNHamOZxiaq5MgYcuJ6Z7lXWqzVVzrReb2MvO8FOeTB0yPw9VYWnTVvtWJBH29QNzNIMnPgOn1Vuu4klaJxUp1GpVfx79YREVZqCIiAIiIAiIgCIqfU9xNvs0nZk9vOeyiAGSSee3wyupXdiE5qEXJ7FZSNGoNXSVpBNLbgGx55Ofk46d+T5BatVtgtjbTaIabH8QjjlPe48\/Tl5KyUpu7yK6EHGN5avNhERQLwiIgCIiA4ijpROZxTRCU4zJwDi2GBv8ADZdkRDiSWgREQ6EREAREQHhAIwRkFc\/stPxcfYR8XfwDK6ohyyZ8ta1gw1oaPAYX0iIdCIiAIiIAiIgCIiAIiIAslvqLWPR1FbB8Q53+pHo1Xd\/ubbTaJqnP8QjgiHe48vTn5Lhpe3mgs0ZkB7aoPayE88nl8lZHmxcjLV+5UVPZZv0LlERVmoIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgIdwtdJdGxNq4u0bE\/jaM438fBTERd2IpJNsIiLhIIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgP\/\/Z",
    "razonSocial": "ILUSTRE MUNICIPALIDAD DE MEJILLONES",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "LUIS OSORIO BERRIOS",
    "correoContacto": "losorio@mejillones.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANTENCIÓN PREVENTIVA",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56552557314",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "14:56",
    "ubicacionGPS": "LatLng(lat: -23.100655, lng: -70.4522617)",
    "horaLlegada": "12:12",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 14:56:26 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:69020400

[09/06/2026 14:56:26] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('69020400', 'EP3135', 1, 21773342, 1080, NOW(), 
				'08:00', '12:12', '14:56', 3, 'Mantenimiento
configuracion', -1, 
				'', '','1','3001',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781031386.png', '', null, 'COMPLETADO','LatLng(lat: -23.100655, lng: -70.4522617)' )
				
[09/06/2026 14:56:26] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200650

09/06/2026 14:56:26 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200650'                    
				WHERE idllamado = 12948			
				TO ENVIO: micorreo@miempresa.cl, losorio@mejillones.cl


09/06/2026 14:56:27 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12948			
				
09/06/2026 14:56:27 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


09/06/2026 14:56:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 14:56:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 14:56:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 14:56:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 14:56:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 14:56:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 14:56:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 14:56:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 14:56:29 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 14:56:29] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 14:56:29 - INPUT: {"rutTecnico":"21773342"}
09/06/2026 14:56:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

[09/06/2026 14:56:29] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 14:56:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:30 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:56:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:56:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

[09/06/2026 14:56:30] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:30 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:56:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

[09/06/2026 14:56:30] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:30 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:56:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

[09/06/2026 14:56:30] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:56:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:56:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 14:56:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:56:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:56:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 14:56:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:56:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:56:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:56:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:56:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:32 - INPUT: {"rutTecnico":"21773342"}[09/06/2026 14:56:32] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[09/06/2026 14:56:32] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 14:56:32 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 09/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WFC5891
            [FechaLlamado] => 09/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 08/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => AM-C400
            [FechaLlamado] => 05/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [RutCliente] => 69253200
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 04/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [RutCliente] => 76257428
            [ModeloMaquina] => WF-C878R
            [FechaLlamado] => 03/06/2026
        )

)

09/06/2026 14:56:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 14:56:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 14:56:35 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:56:35] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 14:56:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:56:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:56:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 14:56:35 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:56:35] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:35 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:56:35] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 14:56:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:56:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:56:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:56:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:56:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:56:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:56:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:48 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:56:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

[09/06/2026 14:56:48] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 14:56:48 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:56:48] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 14:56:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 14:56:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:56:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 14:56:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 14:56:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 14:56:48 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:56:48] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:56:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:56:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:56:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:56:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:56:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:56:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:56:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:56:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:56:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 14:56:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:56:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:56:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 14:56:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:56:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:56:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 14:56:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:56:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:56:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:56:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:56:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 14:56:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:56:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:56:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 14:57:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 14:57:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 14:57:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 14:57:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 14:57:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 14:57:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 14:57:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 14:57:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 14:57:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 14:57:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            
=========================================
FECHA: 09/06/2026 14:57:19
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-6dg2g4TM6V1nZreNyn3HlZEMA6g9N4MoH7QSbxDmgi8w.lT6s2+
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76063288",
    "serieinterna": "EP2230",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "PROYECTO HIBRIDO PAMPAS",
    "ciudadmaquina": "TALTAL",
    "departamentomaquina": "departamento máquina",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se retira por falla",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12945",
    "observacion": "",
    "firma": "",
    "razonSocial": "GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "ELISA GIL GARCIA",
    "correoContacto": "mlgil@services-ges.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "9",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "14:57",
    "ubicacionGPS": "LatLng(lat: -23.6618312, lng: -70.399965)",
    "horaLlegada": "14:53",
    "horaDespacho": "14:56",
    "idMovimientoMaquina": "2",
    "idEstadoRetiro": "2",
    "observacionRetiroMaqExterna": "•Se retira por fallas",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 14:57:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76063288

[09/06/2026 14:57:19] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76063288', 'EP2230', 1, 24456550, 0, NOW(), 
				'14:56', '14:53', '14:57', 2, '•Se retira por falla', 2, 
				'•Se retira por fallas', '','1','0',
				'0',1,'', '', null, 'COMPLETADO','LatLng(lat: -23.6618312, lng: -70.399965)' )
				
[09/06/2026 14:57:19] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200651

09/06/2026 14:57:19 sql cambiarestado: 
				UPDATE llamados
				SET pendiente = 'NO'
				WHERE rut = '76063288' AND 
				serieinterna = 'EP2230' AND
				correlativo = 1;				
		
09/06/2026 14:57:19 nextCorrelativoClienteMaquina sql: 
				SELECT IFNULL(MAX(correlativo)+1, 1) AS correlativo
				  FROM clientemaquina
				 WHERE rutcliente = '76121841'
				   AND serieintmaquina = 'EP2230'
		
09/06/2026 14:57:19 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET estado = 0
				 WHERE serieintmaquina = 'EP2230'
				   AND estado = 1
				
09/06/2026 14:57:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:19 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET facturada = 0
				 WHERE serieintmaquina = 'EP2230'
				  AND rutcliente = '76063288';
				
09/06/2026 14:57:19 agregarMaquina sql: 
				INSERT INTO 
					clientemaquina (rutcliente, serieintmaquina, correlativo, estado, fecha, ubicacion, ciudad, departamento)
				VALUES 
					('76121841', 'EP2230', 5, 1, now(), 'DSPRINT', 'ANTOFAGASTA', 'TALLER');
				
09/06/2026 14:57:19 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200651'                    
				WHERE idllamado = 12945			
				TO ENVIO: micorreo@miempresa.cl, mlgil@services-ges.com


09/06/2026 14:57:19 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12945			
				
09/06/2026 14:57:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


09/06/2026 14:57:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 14:57:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:21 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:57:21] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:57:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:57:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 14:57:21 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:57:21] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:57:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 14:57:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:57:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 14:57:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 14:57:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:22 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:57:22] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:57:22 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:57:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 14:57:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

[09/06/2026 14:57:22] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:57:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:57:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:57:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:57:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:57:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:57:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 14:57:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 14:57:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 14:57:27 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:57:27] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:57:27 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:57:27] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:57:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 14:57:27 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:57:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[09/06/2026 14:57:27] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:57:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 14:57:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:57:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:57:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 14:57:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 14:57:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:27 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:57:27] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:57:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:57:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 14:57:32 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:57:32] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:57:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:57:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 14:57:32 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:57:32 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:57:32 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:57:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

[09/06/2026 14:57:32] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 14:57:32] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 14:57:32] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:57:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:57:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:57:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:57:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 14:57:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 14:57:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 14:57:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 14:57:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 14:57:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 14:57:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 14:57:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 14:57:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 14:57:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 14:57:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:57:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:57:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:57:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:57:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:57:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:57:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 14:57:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 14:57:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:58:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 14:58:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:58:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:58:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 14:58:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:58:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:58:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:58:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 14:58:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:58:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:58:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:58:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:58:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            
=========================================
FECHA: 09/06/2026 14:58:08
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-DeSHl5ZYGkZMu1dmSA87MA1Jn9Om7OA7RCvyfJNdMZ_PfdkUFlW
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "EP2247",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "DSPRINT",
    "ciudadmaquina": "ANTOFAGASTA",
    "departamentomaquina": "DEPARTAMENTO",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se retira por fallas",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12938",
    "observacion": "",
    "firma": "",
    "razonSocial": "INVERSIONES Y SERVICIOS DIGITALES SPA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "ELISA GIL GARCÍA",
    "correoContacto": "mlgil@services-ges.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "13",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+569765445794",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "14:58",
    "ubicacionGPS": "LatLng(lat: -23.6618499, lng: -70.3999893)",
    "horaLlegada": "11:28",
    "horaDespacho": "14:57",
    "idMovimientoMaquina": "2",
    "idEstadoRetiro": "2",
    "observacionRetiroMaqExterna": "•So retira por fallas",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 14:58:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76121841

[09/06/2026 14:58:08] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76121841', 'EP2247', 2, 24456550, 0, NOW(), 
				'14:57', '11:28', '14:58', 2, '•Se retira por fallas', 2, 
				'•So retira por fallas', '','1','0',
				'0',1,'', '', null, 'COMPLETADO','LatLng(lat: -23.6618499, lng: -70.3999893)' )
				
[09/06/2026 14:58:08] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200652

09/06/2026 14:58:08 sql cambiarestado: 
				UPDATE llamados
				SET pendiente = 'NO'
				WHERE rut = '76121841' AND 
				serieinterna = 'EP2247' AND
				correlativo = 2;				
		
09/06/2026 14:58:08 nextCorrelativoClienteMaquina sql: 
				SELECT IFNULL(MAX(correlativo)+1, 1) AS correlativo
				  FROM clientemaquina
				 WHERE rutcliente = '76121841'
				   AND serieintmaquina = 'EP2247'
		
09/06/2026 14:58:08 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET estado = 0
				 WHERE serieintmaquina = 'EP2247'
				   AND estado = 1
				
09/06/2026 14:58:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:58:08 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET facturada = 0
				 WHERE serieintmaquina = 'EP2247'
				  AND rutcliente = '76121841';
				
09/06/2026 14:58:08 agregarMaquina sql: 
				INSERT INTO 
					clientemaquina (rutcliente, serieintmaquina, correlativo, estado, fecha, ubicacion, ciudad, departamento)
				VALUES 
					('76121841', 'EP2247', 3, 1, now(), 'DSPRINT', 'ANTOFAGASTA', 'TALLER');
				
09/06/2026 14:58:08 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200652'                    
				WHERE idllamado = 12938			
				TO ENVIO: micorreo@miempresa.cl, mlgil@services-ges.com


09/06/2026 14:58:08 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12938			
				
09/06/2026 14:58:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


09/06/2026 14:58:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:58:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:58:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:58:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 14:58:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:58:10 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:58:10] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 14:58:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:10 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:58:10] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:10 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:58:10] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:58:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 14:58:10 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:58:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

[09/06/2026 14:58:10] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 14:58:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:58:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:58:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:58:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 14:58:11 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:58:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 14:58:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:58:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 14:58:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

[09/06/2026 14:58:11] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:58:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:58:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:58:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:58:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:58:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:58:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:58:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:58:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:58:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:58:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:58:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:58:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:58:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:12 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:58:12] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12901
            GROUP BY l.idllamado;
            

09/06/2026 14:58:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12901
            GROUP BY l.idllamado;
            

09/06/2026 14:58:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:13 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:58:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12901
            GROUP BY l.idllamado;
            

09/06/2026 14:58:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12901
                

[09/06/2026 14:58:13] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:13 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:58:13 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:58:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12901
                

[09/06/2026 14:58:13] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 14:58:13] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12901
            GROUP BY l.idllamado;
            

09/06/2026 14:58:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12901
            GROUP BY l.idllamado;
            

09/06/2026 14:58:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12901
                

09/06/2026 14:58:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12901
                

09/06/2026 14:58:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12901
                

09/06/2026 14:58:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12901
                

09/06/2026 14:58:13 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:58:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12901
            GROUP BY l.idllamado;
            

[09/06/2026 14:58:13] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12901
            GROUP BY l.idllamado;
            

09/06/2026 14:58:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12901
            GROUP BY l.idllamado;
            

09/06/2026 14:58:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12901
            GROUP BY l.idllamado;
            

09/06/2026 14:58:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12901
                

09/06/2026 14:58:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12901
                

09/06/2026 14:58:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12901
                

09/06/2026 14:58:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12901
                

09/06/2026 14:58:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12901
                

09/06/2026 14:58:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12901
                

09/06/2026 14:58:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12901
                

09/06/2026 14:58:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12901
                

09/06/2026 14:58:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12901
                

09/06/2026 14:58:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12901
                

09/06/2026 14:58:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12901
            GROUP BY l.idllamado;
            

09/06/2026 14:58:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12901
            GROUP BY l.idllamado;
            

09/06/2026 14:58:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12901
            GROUP BY l.idllamado;
            

09/06/2026 14:58:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12901
            GROUP BY l.idllamado;
            

09/06/2026 14:58:15 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:58:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12901
                

[09/06/2026 14:58:15] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:15 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:58:15] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12901
                

09/06/2026 14:58:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:15 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:58:15] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:15 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:58:15] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12901
            GROUP BY l.idllamado;
            

09/06/2026 14:58:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12901
                

09/06/2026 14:58:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12901
                

09/06/2026 14:58:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12901
                

09/06/2026 14:58:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12901
                

09/06/2026 14:58:16 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:58:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12901
            GROUP BY l.idllamado;
            

09/06/2026 14:58:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12901
            GROUP BY l.idllamado;
            

[09/06/2026 14:58:16] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12901
                

09/06/2026 14:58:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12901
            GROUP BY l.idllamado;
            

09/06/2026 14:58:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12901
                

09/06/2026 14:58:16 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:58:16 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:58:16 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:58:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

[09/06/2026 14:58:16] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 14:58:16] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 14:58:16] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:16 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:58:16] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:16 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:58:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

[09/06/2026 14:58:16] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:58:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                
=========================================
FECHA: 09/06/2026 14:58:21
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-drswzMf-Zrw9-nNCN-Lkf3KnpB6Yjel+KS.s8gG+vMQ1QQsCv0K
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "79626800",
    "serieinterna": "EP2641",
    "correlativo": "1",
    "ddServicio": "Faena",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Se realizo mantencion preventiva",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12904",
    "observacion": "Se realizo mantencion preventiva\n",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABaAHsDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABAEAABAwMCAwUFAwcNAAAAAAABAAIDBAURBiESMUETUWGBkSIjcaGxFTLBBxQkctHh8BZCUlVigpKTorLC0vH\/xAAZAQADAQEBAAAAAAAAAAAAAAAAAgMBBAX\/xAAuEQACAQMDAQUHBQAAAAAAAAABAgADESESMUFRBBNhkaEyQnGBwdHhFCNSsfD\/2gAMAwEAAhEDEQA\/AP2GoqYaSEzVErIo283POAFX02pbTVTdi2qEbzyEoLM\/DKrL7I646mt9pbkxM97MMHBHPfyHqRzVrcNPWy5RBk1M1ha0NY+IBrmgbADwHcdlSygC85TUqOx7u2MZ5lmiyQdeNKEBwNfa2jAIGHRDx2\/d8FpKC4UtyphUUkokYeeObT3EdClK2zxKU6wc6SLHp\/t5JRESy0Khtl8qHXuptVzbHHMHZgLQQHt7vTf1V8qTUlnfX07KykJZXUvtRObzcBvw\/s\/enW2xkK2sAMnHHWXaKrsF5ZebeJSOGeP2Zmdzu\/4FWiUgg2Mqjh1DLsYREWRoRERCEREQmZtfvtdXSboyIRgZ\/VH\/ABWmWYso4dZXhp2JAOPDZadO+85uzewT4n+545oc0tcAQRgg9Vkq6mdpO5x3Gi2t87gyeEnZpPd9fJa5U2rGB+mqvP8ANDSP8QQhzbrN7Sl0LDcZEt2ua9ge05a4ZB7wvpQbI90ljoXu5mBmfRTkpFjLKdSgwiIsjTKXmklsN1bfaGP3DtqqJvXJ548fqPFaWkqoq2ljqYHcUcreJpX3LFHPC+GVgfG8FrmnkQsnTzP0hdnUlS5xtdSS6F5JPZn+OfkVT2x4zjP7D390+h+xmvRZz+U9TWzubZ7Y+riY8tdM53C0\/BTLJfTdJJqaemfTVUH343A8u\/lt0WFCBeVXtFNm0gy3RESS8IiIhMuz9C\/KE\/iJa2tp\/ZxyJAH\/AEK1Cy+s4XQNorvC0dpSSjO3MZyM+GR81ZV+prZb4mulmLnOaHNjjblxBGR4cj3qhBYAicdN1pM6sbZv5y2VFq+pjhsE0LnDtJy1jG9eec\/Iqkq9dT1OYaGFlLxZAmmPFjxxjH1XSglsbKltbdbyK+qHLjjJY34Aj+O5MKZXJk6nakqgoh35OBNRaYH0tppYJAQ+OJrSDzGymKpbqiyOOBcI\/MEfgplNc6GscW01XDKW4yGPBUyDuROtHp2Cqw85KRESysLI6gkqdQ17rNbwwtpgZJnvGAHDYDPnj+CtTUymCllmAyY2F2MZzgZVHoyDhs7qx+81XK5739Xb4+ufUqiYGqctcd4wpcHf4CdNH1kdTYY4WsDH0xMb2gdeefPPrlQr64WfU1Dd8EQzAxTkE92N\/LB\/upBiza4kh9hlPcWcTfB3\/ufVSNbtcbAHDPsTNJI6c\/xITe\/4GQJP6cg7p9PxNEi5Uzg+lic3k5gI2x0XVRnoA3EIiImyFeKL7QtFTS9ZGHh\/WG4+YCzumrbarzbo5aqmElVTe6eCSOX3SQPDbyK16yc2NOaubOARSXL2XdzXZG\/r8iVVCbECcfaFUOtRhcbH6HzlyzTtmjbwtt0BH9pvEfUr7+wLR\/VtN\/lhWCJNR6zo7qn\/ABHlK12nrO4YNup\/JmFEq9H2mdg7CN1LI05bJE45Hqr1EB2HMVqFJhYqJlHTX3TTuOpk+0LcCAXk+1G3lk9c+o9Vp4Zo6iFk0Tg5kjQ5pHUFRL68R2Ktc5rXDsHbO5HZcNLtLdOUedssJx5lMcreTpg06vdg3Fr\/AAlhVQCppJqcnAljcz1GFRaLqmvtUlGWlktJIWvaeYyTj8R5LRrKGT7F1w50g4ae5MAB6cW3zyP9SFyCIVjoqLU+R+f5nTWg\/N4qC5NB46aoAGD0Iz9WhfWt5gbNFA08T55m8IAzsOu3l6rtrVgdpyUnm17CPXH4qroHvv8AqOk43cUNtgY4nPN+B8+L\/anXYHpOesbVHpjdrfW\/pNfAzsqeOP8AoMA9AuiIoT0hiEREQhUmrLe+vsrzHjjpz2wz4A5+vyV2vHAOaWncEYK0GxvEqIHQqeZCs1w+1LVBVkAOe32gOjhsVOXGmpYKOEQ08TY4x0b9fFdkG18TUDBQG3hFDr7tQW1nFV1LIz0bnLj8AN1np71dNQg01lpnwQOPC+pfsQOvw59MlMEJkqldExueg3nTVVxiroxYqJ3bVc0gDmtOzcb4J78gfDqtHSUzKOkipowAyJgaMDuCg2axU1ng9n3tQ4e8mcPaPgO4eCtEMRawmUkbUaj7n0EKm1RaXXW1OELc1EB7SLHMnqPMfPCtZ5mU9PJPJngiYXuwMnAGV8UdXFXUkdVBkxyDLeIYKwEjIlKiq4NM8zKXC7C76Ikc4\/pEb2Ryt68WRvjx\/b3L3RlbTUEc1vqz2FU+QvHaDh4m8I235dTvjmud50tVSXztKWPio6qVrpGhwHCdydsjx38SFpbnZKC6wCKphwWjDHs9lzfh68jsqllC26zz0p1jU1ndcZ5lgiyv2XqGyRuNsrBWwg7QTDcDwyfkCpls1VSVbjT1w\/MKtpw6OY4B8zjHwPzUynIzOxe0C+lxpPj95fIvAQRkHIK9STohEREJznkdDTyStjdI5jC4MbzcQOQWZa3VN694ZGWymdu1o+\/jv7\/otUiYNbiSqUtZySB4Sht+kbfSSmepL62cnPHNuM\/D9uVegADAGAF6iwsTvNSmlMWUWhERZKQvAABgDAC9REIRERCFCuFooLozFXTtecYD+Th8D5Kai0EjaKyhhZheZB0F30kTJTuNdbAcuY770Y\/D4jbwWhobvSV9HHVRuIbIM4c05HQj1U5fLGMjaGMaGtHINGAExbUM7yKUjTaynHTpP\/\/Z",
    "razonSocial": "SQM SALAR S.A",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "NICOL MARIN",
    "correoContacto": "nicol.marin@sqm.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "9",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56 9 6627 1994",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-R838\",\"id_control\":\"28931\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "14:58",
    "ubicacionGPS": "LatLng(lat: -23.6618419, lng: -70.399964)",
    "horaLlegada": "14:56",
    "horaDespacho": "12:56",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 14:58:21 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:79626800

[09/06/2026 14:58:21] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('79626800', 'EP2641', 1, 19969062, 0, NOW(), 
				'12:56', '14:56', '14:58', 3, 'Se realizo mantencion preventiva', -1, 
				'', '','1','0',
				'0',2,'../csj.digital-service.cl/uploads/firmas/firma_0_1781031501.png', 'Se realizo mantencion preventiva
', null, 'COMPLETADO','LatLng(lat: -23.6618419, lng: -70.399964)' )
				
[09/06/2026 14:58:21] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200653
[09/06/2026 14:58:21] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200653', 'EPS-R838', 1)
				
[09/06/2026 14:58:21] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28931 and
				    IDproducto = 'EPS-R838'
				

09/06/2026 14:58:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:21 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-R838';
                
09/06/2026 14:58:21 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200653'                    
				WHERE idllamado = 12904			
				TO ENVIO: micorreo@miempresa.cl, nicol.marin@sqm.com


09/06/2026 14:58:21 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12904			
				
09/06/2026 14:58:21 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


09/06/2026 14:58:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:58:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:23 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:58:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

[09/06/2026 14:58:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:58:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:58:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:58:23 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:58:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

[09/06/2026 14:58:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:58:23 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:58:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:58:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:58:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:58:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:23 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:58:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:58:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:58:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:58:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:24 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:58:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:24 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:58:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

[09/06/2026 14:58:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:58:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:58:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:24 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:58:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:24 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:58:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:24 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:58:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:58:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:58:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:58:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:58:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:25 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:58:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:58:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:25 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:58:25] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:25 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:58:25] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:25 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:58:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

[09/06/2026 14:58:25] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:25 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:58:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

[09/06/2026 14:58:25] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:25 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:58:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

[09/06/2026 14:58:25] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:26 - INPUT: {"rutTecnico":"19969062"}[09/06/2026 14:58:26] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 14:58:26 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 08/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 05/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 05/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ANDREA IVONNE GODOY MUNOZ
            [ciudad] => TOCOPILLA
            [RutCliente] => 15012006
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 05/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => REPROGRAMADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 3518A
            [FechaLlamado] => 05/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => REPROGRAMADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 05/06/2026
        )

)
[09/06/2026 14:58:26] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 14:58:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:26 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:58:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

[09/06/2026 14:58:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:27 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:58:27] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:27 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:58:27] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:27 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:58:27] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:27 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:58:27] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:27 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:58:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

[09/06/2026 14:58:27] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:32 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:58:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

[09/06/2026 14:58:32] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:32 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:58:32] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:34 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:58:34] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:34 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:58:34 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:58:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

[09/06/2026 14:58:34] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 14:58:34] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:35 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:58:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

[09/06/2026 14:58:35] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:35 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:58:35] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:36 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:58:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

[09/06/2026 14:58:36] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:36 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:58:36] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:36 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:58:36] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:37 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:58:37] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:37 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:58:37] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:37 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:58:37] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:37 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:58:37] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:38 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:58:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

[09/06/2026 14:58:38] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:38 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:58:38] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:38 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:58:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

[09/06/2026 14:58:38] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:38 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:58:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

[09/06/2026 14:58:38] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:38 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:58:38] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:38 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:58:38] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:40 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:58:40] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:40 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:58:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

[09/06/2026 14:58:40] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:40 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:58:40] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:40 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:58:40] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:40 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:58:40] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:40 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:58:40 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:58:40] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 14:58:40] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:40 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:58:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

[09/06/2026 14:58:40] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:40 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:58:40] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:41 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:58:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

[09/06/2026 14:58:41] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:42 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:58:42] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:42 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:58:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

[09/06/2026 14:58:42] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:42 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:58:42] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:42 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:58:42] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:42 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:58:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

[09/06/2026 14:58:42] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            
=========================================
FECHA: 09/06/2026 14:58:58
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-tIOHgsuh6fMGj09BwDZpaSUJ1rR1.KPaxl-468HwiLlrMXQJMfI
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76214934",
    "serieinterna": "EP2650",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Entrega de insumos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12750",
    "observacion": "",
    "firma": "",
    "razonSocial": "FERROVIAL SERVICIOS CHILE SPA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "CAMILO AGUILAR V.",
    "correoContacto": "camilo.aguilar@vestislatam.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "+56967495635",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I303\",\"id_control\":\"28805\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I304\",\"id_control\":\"28805\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "14:59",
    "ubicacionGPS": "LatLng(lat: -23.6618476, lng: -70.4000121)",
    "horaLlegada": "14:58",
    "horaDespacho": "14:58",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 14:58:58 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76214934

[09/06/2026 14:58:58] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76214934', 'EP2650', 1, 24456550, 0, NOW(), 
				'14:58', '14:58', '14:59', 10, '•Entrega de insumos', -1, 
				'', '','1','0',
				'0',1,'', '', null, 'COMPLETADO','LatLng(lat: -23.6618476, lng: -70.4000121)' )
				
[09/06/2026 14:58:58] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200654
[09/06/2026 14:58:58] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200654', 'EPS-I303', 2)
				
[09/06/2026 14:58:58] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28805 and
				    IDproducto = 'EPS-I303'
				

09/06/2026 14:58:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:58 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I303';
                [09/06/2026 14:58:58] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200654', 'EPS-I304', 2)
				
[09/06/2026 14:58:58] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28805 and
				    IDproducto = 'EPS-I304'
				

09/06/2026 14:58:58 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I304';
                
09/06/2026 14:58:58 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200654'                    
				WHERE idllamado = 12750			
				TO ENVIO: micorreo@miempresa.cl, camilo.aguilar@vestislatam.com


09/06/2026 14:58:58 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12750			
				
09/06/2026 14:58:58 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


09/06/2026 14:58:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:59:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:59:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:59:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:59:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:59:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:59:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:59:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:59:01 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:59:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

[09/06/2026 14:59:01] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:59:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:59:01 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:59:01] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:59:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:59:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:59:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:59:01 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:59:01] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:59:01 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:59:01] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:59:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:59:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:59:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:59:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:59:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:59:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:59:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:59:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:59:01 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:59:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

[09/06/2026 14:59:01] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:59:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:59:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:59:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:59:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:59:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:59:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:59:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:59:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:59:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:59:02 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:59:02] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:59:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:59:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:59:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:59:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:59:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:59:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:59:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:59:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:59:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:59:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:59:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 15:20:18 - INPUT: {"rutTecnico":"24456550"}[09/06/2026 15:20:18] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 15:20:18 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 08/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [RutCliente] => 76063288
            [ModeloMaquina] => WF-C869R
            [FechaLlamado] => 08/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 95111827
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [FechaLlamado] => 08/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => WF-C869R
            [FechaLlamado] => 08/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76464003
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 08/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TPORT LOGISTICS SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76917086
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 08/06/2026
        )

)
[09/06/2026 15:20:18] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 15:20:20 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 15:20:20] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:20:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12956
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 13:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76548103
            [ClienteRazonSocial] => BLINKEND SEGURIDAD SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3160
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12953
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE ESCÁNER SE QUEDA PEGADO Y ADEMÁS NO LLEGA AL PC
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 13458077
            [ClienteRazonSocial] => CAROLINA ANDREA LEIVA PEREZ
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2797
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)
[09/06/2026 15:20:21] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 15:20:21 - INPUT: {"rutTecnico":"24456550"}[09/06/2026 15:20:21] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 15:20:21 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 08/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [RutCliente] => 76063288
            [ModeloMaquina] => WF-C869R
            [FechaLlamado] => 08/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 95111827
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [FechaLlamado] => 08/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => WF-C869R
            [FechaLlamado] => 08/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76464003
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 08/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TPORT LOGISTICS SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76917086
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 08/06/2026
        )

)

09/06/2026 15:20:24 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 15:20:24] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:20:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12956
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 13:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76548103
            [ClienteRazonSocial] => BLINKEND SEGURIDAD SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3160
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12953
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE ESCÁNER SE QUEDA PEGADO Y ADEMÁS NO LLEGA AL PC
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 13458077
            [ClienteRazonSocial] => CAROLINA ANDREA LEIVA PEREZ
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2797
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:20:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12956
            GROUP BY l.idllamado;
            

09/06/2026 15:20:36 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 15:20:36] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:20:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12956
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 13:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76548103
            [ClienteRazonSocial] => BLINKEND SEGURIDAD SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3160
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12953
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE ESCÁNER SE QUEDA PEGADO Y ADEMÁS NO LLEGA AL PC
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 13458077
            [ClienteRazonSocial] => CAROLINA ANDREA LEIVA PEREZ
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2797
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:26:41 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 15:26:41] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:26:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12961
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 15:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3137
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:26:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12961
            GROUP BY l.idllamado;
            

09/06/2026 15:26:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12961
            GROUP BY l.idllamado;
            

09/06/2026 15:26:46 - INPUT: {"rutTecnico":"21773342"}
09/06/2026 15:26:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

[09/06/2026 15:26:46] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:26:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12961
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 15:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3137
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:26:46 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 15:26:46] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:26:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12961
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 15:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3137
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:26:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12961
            GROUP BY l.idllamado;
            

09/06/2026 15:26:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:26:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:26:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:26:54 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 15:26:54] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:26:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12961
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 15:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3137
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:26:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12961
            GROUP BY l.idllamado;
            

09/06/2026 15:26:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12961
            GROUP BY l.idllamado;
            

09/06/2026 15:26:54 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 15:26:54] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:26:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12961
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 15:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3137
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:26:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12961
            GROUP BY l.idllamado;
            

09/06/2026 15:26:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12961
            GROUP BY l.idllamado;
            

09/06/2026 15:26:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:26:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:26:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:26:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:26:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:26:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:26:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:26:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12961
            GROUP BY l.idllamado;
            

09/06/2026 15:26:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:26:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12961
            GROUP BY l.idllamado;
            

09/06/2026 15:26:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:26:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:26:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:26:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:27:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:27:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12961
            GROUP BY l.idllamado;
            

09/06/2026 15:27:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:27:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:27:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:27:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:27:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12961
            GROUP BY l.idllamado;
            

09/06/2026 15:27:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:27:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:27:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:27:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12961
            GROUP BY l.idllamado;
            

09/06/2026 15:27:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:27:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:27:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:27:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12961
            GROUP BY l.idllamado;
            

09/06/2026 15:27:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:27:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:27:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:34:20 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 15:34:20] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:34:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12956
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 13:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76548103
            [ClienteRazonSocial] => BLINKEND SEGURIDAD SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3160
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12953
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE ESCÁNER SE QUEDA PEGADO Y ADEMÁS NO LLEGA AL PC
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 13458077
            [ClienteRazonSocial] => CAROLINA ANDREA LEIVA PEREZ
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2797
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:34:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12956
            GROUP BY l.idllamado;
            

09/06/2026 15:34:22 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 15:34:22] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:34:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12956
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 13:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76548103
            [ClienteRazonSocial] => BLINKEND SEGURIDAD SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3160
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12953
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE ESCÁNER SE QUEDA PEGADO Y ADEMÁS NO LLEGA AL PC
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 13458077
            [ClienteRazonSocial] => CAROLINA ANDREA LEIVA PEREZ
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2797
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:34:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12956
            GROUP BY l.idllamado;
            

09/06/2026 15:34:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12956
            GROUP BY l.idllamado;
            

09/06/2026 15:34:24 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 15:34:24] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:34:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12956
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 13:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76548103
            [ClienteRazonSocial] => BLINKEND SEGURIDAD SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3160
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12953
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE ESCÁNER SE QUEDA PEGADO Y ADEMÁS NO LLEGA AL PC
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 13458077
            [ClienteRazonSocial] => CAROLINA ANDREA LEIVA PEREZ
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2797
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:34:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:34:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:34:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:34:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12956
            GROUP BY l.idllamado;
            

09/06/2026 15:34:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:34:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:34:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12956
            GROUP BY l.idllamado;
            

09/06/2026 15:34:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:34:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:34:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:34:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:34:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12956
            GROUP BY l.idllamado;
            

09/06/2026 15:34:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:34:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:34:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:34:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12956
            GROUP BY l.idllamado;
            

09/06/2026 15:34:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:34:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:34:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:34:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12956
            GROUP BY l.idllamado;
            

09/06/2026 15:34:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:34:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:34:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12956
            GROUP BY l.idllamado;
            

09/06/2026 15:34:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:34:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:34:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:36:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12956
            GROUP BY l.idllamado;
            

09/06/2026 15:36:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:36:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:36:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12956
            GROUP BY l.idllamado;
            

09/06/2026 15:36:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:36:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:36:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:36:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:36:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:36:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12956
            GROUP BY l.idllamado;
            

09/06/2026 15:36:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:36:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:36:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:36:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:36:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12956
            GROUP BY l.idllamado;
            

09/06/2026 15:36:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                
=========================================
FECHA: 09/06/2026 15:36:54
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-XkL_aMp1a_SruZ98OolTU88I+LWs2banRvlgXdilT+6+d6cNxjx
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76548103",
    "serieinterna": "EP3160",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "1815",
    "contadorColor": "928",
    "contadorScanner": "0",
    "detalle": "•Se deshabilita prioridad de improsión por alimentador posterior\n•Se conecta 1 pc para imprimir\n",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12956",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACiAUADASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABGEAABAwMBBAcFBQQIBQUAAAABAAIDBAURBhIhMUETIlFhgZGhFDJxscEVI9Hh8AcWM0IkNlJikqLS8SVzdILCNDdDU+L\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAA0EQACAQIDBAgGAgIDAAAAAAAAAQIDERIhMQQiQVETMmFxgZGx0RQzocHh8CNCNPFSYnL\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAERV14vdJZabpKg7T3Z6ONvFx+g711Jt2RGUowWKTyJ0sscMbpJZGxsaMuc44A8VQVusKVkwp7dBJcJjkYiBx8t\/gotNZ6\/Ub2116lfHSk7UVI043cs9nz+C0lJQ0tBF0dJTxwt5hjcZ+J5qdox1zM6lVq5x3V9fIz7X6vuJy1kFvjcN21ja+p9Avv2Nqd+999aD\/db+QWnRMfJHfhk+tJvx9jMfY+qY98V8jcf77fyK+Go1fQEulpqevYM56PAPhjB9OS1CJj5ofDJdWTXj7mfodY0FRN7PWMfQTDdib3c\/Hl44V+1wc0OaQQRkEc1DuFpobpHsVlO2QgYa\/g5vwPFZ59su2l3me1yvraIZMlPId7B2jv7wPBLRlpkRx1aXXWJc1r5exrkVdaL5R3qEvp3ESNHXid7zfxHerFQaadmaYyjNYou6CIi4SCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiA41dXDQ0klVO7ZjjGXEDKzNhoJL3XOv9zZxOKeIjqgDge8dnfkrpq8vrKq22hhIFTLtPIONw3fUnwWliiZDEyKNoaxjQ1rRyA4BWdWPazI10tWz0j6\/g9oiKs1hERAEREAREQGdvlhlEoulnPQ1sR2nMZuEvh2\/NTrHe4bxTHd0dTFgTRHcQe0dytFmNRUEltqmagtzPvYj\/SGDg9vb+PnyKsTxbrMk4ui3UhpxX3Rp0UeirIq+jiqoDlkjcju7lIVZqTTV0EREOhFnbreq2prnWmxsDqhpxNO4dWL6KDV2muooumrdWyQSEZ2C5wBPYOtv8B4KxQ5syy2izeGN7cckvqbBFQ6UuNfX0T\/AGz7xsZwyfGNv9fDzV8oSVnYup1FUipLiERFwsCIiAIiIAiKFdLrS2ikNRUu3cGsHvPPYF1K+SOSkoq70JhIAyTgBUtdq600TjG2Z1TIDjYgbtevD1VZFRXfVJE9fI+ht592Bm4vHbv+Z8AtBb7Nb7W3FJTNY4jBed7j4lTtGOpmVSrV6isub9vcpv3gvlaCLfYnsBHVknJAPngeq++x6wqOs+4UtOMe40cP8vf28lpkXMa4I70DfWm39PQzH2VqwbxeoD3FvH\/KvPt2rbeM1FBDWsA3ui94+A\/BalF3HzSHw9urJrx9ygodX0E8ghrGuoZ842JeA+J5eOFfNcHNDmkEEZBHNQ7haaG6R7FZTtkIGGv4Ob8DxWc27ho2Vole+utbyBn+aLuG\/A+R7ktGXV1IupUpfMzjz90bBFxpamGspo6mB+3FIMtK7Ks1Jpq6CIiHTL0w+0NfVExPUoYdhvxIx\/5OWoWX0oBLdr3VcS6ow08cDacePktQrKmtjNsucHLm2\/qU9Vqqz0lQ+CWqy9nHYYXDhniFZU1VBWQNnppWyxuzhzeG5Zqw01HHe7pbqmmifIJOkj6RodlpPLPDi0+K83SjbpashuduIippXiOoiI2hz4c+3h3LrhG9lqVRr1FHHK1uPNGtRfGuDmhw3gjIX1VG4Ii5TVMFM3annjiaOb3ho9UONpanVFUy6oskTwx1exxPDYa5\/wAgVEl1vZ487JnlwM9Rg+pCkoSfAqe0UVrJeZoV5exskbo3tDmuBDgeYUe3XGnulG2qpnEsO4gjBaewqUuaFqakrrQyen3usl+qrFM49FIekpyef+49QtYs1rKjcKWG7U52aijeDtAcWk\/Q49Vf0dVHW0cVVF7krA4d2VOeaUjNQ3JSpPhmu5+x1JAGScALPX3VdDR0csdJUMnqnDZaGHIbyJJCk3ewuvNWwz1sjKRrWgwM\/mcCd\/dxCpKu0UDdU2+10VOI2R5mmOTk8wNo7+XquwUeJDaKlZK0Va+XnyI1loNRinfHSQNo+lcDJUzAiR\/nnd8Aryk0hSiYVNxnluE\/Mynq+X5rQrnNNFTwvmmeGRsGXOcdwC46knoShslOC3s7c9PI+xRRwxtjijbGxow1rRgDwXyaogpmbc80cTf7T3Bo9VmXXO9ahc9tnYKSjBLTUybi74fkPFdoNFUbnia41NRWzH3i95AP19UwpdZnVWlP5Ubrm8kTZNU2SPO1cGHH9lrnfILmzWFjece1lve6N34KVHp+0RNDW26DA\/tM2s\/HPFdX2m2yN2X2+lI74W\/gubnadttHNfUU13t1WQ2nrYXuPBoeMnw4qYqKt0dZ6tnUhNM\/GA6J30O5V1W+9aWDah1ULhQAhmzIdl7RvwPz38OC7hT6rOOtUp51I5c17Ghut1prRRuqKh3cxg4vPYFzsdZXV1AKmup2QGQ7UbWk5LeWQs7YYm6nuctzuUrZPZ3AR0vJo5E93zI3rZpJKOXEUZyqvpNI8Fz7WFk6OBuptRy3CUbdBRHo4WkZbIRz8znyV1qGpNJYayYHB6PZBxnG0dn6rlpelFLp2kaOMjOkPftb\/lhI5RbFRdJVjTeizf2LdERVmoIiIAiIgC8SxRzROilYHseMOa4ZBC9ogMjAZdI3oUz3Odaqs5Y5x\/hO7\/hz7t\/Ja5QbxbGXa2S0jyGlwyxx\/lcOBVfpO4yVVvdR1ORVUTujkDuOOXyI8FY95YuJkp\/xVOj4PT7ovkRFWazMaN6st1jPFtTv9fwWnWY06Og1NfIHbi+QSAHjjad\/qWnU6nWM2y\/KS5X9TM6sppqSSnvtGSJqYhsgHNhPPzx4rxqmpiuWn6PoZGg1UzTHtHdwORnhuytJUthfTSNnLREWkPLjgALD6TpBcLjh823TW9xfA04BJLsg48OzmrIO6u+Bnrxam4R\/v+38jdxtLI2tPEABQL5W1tBQdLQUZqpi4N2QHOx34G8+isUVKeZvlFuNk7H53W3zUsmW1XtFHERk9HTlhAHYePqri1adtd3pG1s1VV1hcSHdK\/GHcDzPZ2latzg1pc4gADJJ5LPaQc6eGtqhuhlqD0bGlwa0DsB4ceX0wLsd45ZGBbOo1UpvFfn2FjBp+0U4Ajt0BxwL2bZ8zlShDT0kTnRQRxhgLsNaGruuVTCKmllgJwJWFhOM8Rjgqbt6m5QjFbqKHRcL226oqZC3aqJ3HDeWPlvz6LRrK0R1LaYorfDboZ4YyQ2Rz9+C48Tn6cMLVKVTW5TsztTUbNW5nGqp2VdJNTSe5KwsPwIwqLRdQ42yaglP3tFKWEZzgHh67XktGstSj7O19UQjIjroukaM8+J9Q5djnFoVd2pCfh5\/k1KzFjBrNW3etcP4RELc9mcbvBnqtOsxpD\/115\/6n6uXI9VitnUprtfoadZO4mXUOpfsgOe2hpRtVGN20f8AcgeZWpmkEML5SMhjS7HbhZ3RMTnW+or5N8tXMS49oH5ly7DJORyvvyjT4PN9yNDDDFTwshhYGRsGGtaNwC6IirNWgREQBZFw\/evUWAdq2UOD3Su\/XoO9WOrblJQ2xtPTkdPWO6JvbjmR5jzU6zWuO0W2OkZguHWkcP5nHif12KxbqxGSp\/LU6Pgs39kUmoKA2aoivttiazosNmiZ1WuB5kDy8jyV8650wtX2lt5g6PpMjf4bs7+S71VOyqpZaeT3ZWFh3dowvzu2z1F3o6PTjA5jRM58jzyZx7N3PxwpRWNZ8PQrqT+Hm8P9tF2lxeL4286PnnZC6H75kbmk57DuPx+S1FuYI7ZSsHBsLB6BYWngb+617YzcI6huyM8g4fRbazSdLZKJ+MZgZn\/CEqJJWXM5ss5Tnilq0vVk1ERUnoBF5dIxhw57WnvOF9JAGScAID6io6XVltqq0046RjdrZbM8bLXHd27xvP8Asrtzg1pc4gADJJ5Lri1qQhUhNXi7kC711XQwMfSUElW5zwHNZyGDv7VT\/vnLDvrLJVwNHvHeceYCu7fdqO6dN7JIZBC7Zc7ZIBPd2qapJpZNFTjOe9Tnl3JlTbdTWy6SNiglc2V3BkjcE7s47ORVXWsFl1nS1jCWwXDMcgA3bXD57J81L1TaIam1y1cMDG1VP94HtGHEA5IJG\/hk\/FQbzKL5oyOuiOZYC17w0kkEbnfPKnFLVaPIz1ZTs4y1jmu2xrUUW2Vft1sp6rIJljDjjt5+q7TzxU0Lpp5GxxtGS5xwAqrZ2NykmsXAzFVNFbNdxTiSPo6qMRTdYdR3LOOGcNO\/tVpcNT2q3xkmpZPIOEcR2iT8eAWbqbSdU3KrrqBmxBsYbI9x+8eBuHHdux2YVjo2G1zUYe2kjbXU52ZS4ZcDycM8PBXSUbXfA82nUqY3GNkpNtP2PLLddtTvE11c6ioc5bTM3Od3n8T5c16r6GXTdwjudtiBohHsTwg4wAOOT+s\/FapFDpH4Gr4aNr33ufH97Cttl\/t12aPZqgCTnE\/qvHhz8MqfLNFBGZJpGRsHFz3AAeJVXWaWs9a8yPpBG92cuiOzv7cDcolPoe0wSh5dUS4PuyPGPQBctDmdUtoWTSfbe30sQ7pcpNS1rLRanyezZzUzAYGM9\/Ib\/iVqKOlioaSKlhBEcTQ1uTkpS0dPRQiGmhZFGOAaF2SUr5LQlSpOLc5u8n+2QREUC8IiIAsvqAbGq7JI3c9z9knuyN3qVqFmNR\/1msf\/ADT82qyn1jNtXy\/FeqNOsvpRzY7veqdxxJ0+1snsy7PzHmtQs\/ebPXCvbdbM5jKoN2XsccdIPHd545b1yLWafE7XTTjNK9i4rozLb6mMcXxOaPEFVGintfpyNo4skeD8c5+q4v1Lc6ON3tlhny0+\/HnZI37+BxwXDQMzXUdZC3IDZg8AngCMf+Klhag7lPTQltEbcmaxERVG4IiIDL3Bvtuu6GFxHR00XSY\/vbz89nyWoWWvTzZtUU94lje+lki6ORzRnZPDPqFKn1lamM\/o7pKqQ7msYwjJPDecY3kBWuLaVjFTqwpynjdnf\/ROvd3is1udUvw6Q9WOMn3nfres\/oKFh9tnfHioa4MLjxAO8jHxCk2y01l3uIvN6Zstb\/ApSNzewkH5cyvmlHtjqr295w1tQST2DLlKyUGkV3lOvCclZZ28tSmEtQ26XOxwNJdW1RGcA4b1snf3EHwKmaU1F7Ifsm4YjZGSI5Hbtg53td481xslzbNrR1Y+MNZW7TI3O5cMEf4ceK6Xu10lJqMiqaW0dyB+8\/8AqkzxHjjwcVY7PdaMkHKK6WD0bXg9DcKJc6p9FbKmqjDS+KMvaHcCQOaz1Hda3Tc8duvOX0p3QVQGd3Ye4eY+GF7vuoKevpHWu1k1VRUjYOz1Q0fE8+WFQqbv2Hoy2mGB8JcuNzjadN0t5tUNdXz1Ek0xc4kPxjed2\/OefmpU2l6qlgMVouc0LHjZcyR2cNzyxw4nzV5bqMUFvgpAQ7omAEgYyeZx8VJR1HcQ2WngV1nbUqZNOUM1mjtkjOpGOq8e813MjOfJVZ0ncZ2Npqq+TSUrSOrvyR4n8cLVIuKckWS2alLVEeioae3Uraamj2I2+JJ7SeakIigXJJKyCydZZLnbZ6g2kRy0VWC2WneTu2txPrxHYtYilGTiV1aUaizMHp+9XiC3GhorZ7SYXkbROAzJ4Ebu\/mrNlhut5nZPfakMibwpYju7OIPrvO9etPEQanvVLjZ2n9IAPif9S06snKzyRk2ejjprG20srcMjxFFHDG2OJgYxowGtGAFnr1Y6yKu+2LNIW1Q\/iRE7njngfT6rSIq4yadzXUpRqRwv\/RR2zVVFWOEFVmiqxgOjmGyCe4n64KvFXXKx2+6gmpgHSYwJWgB45cefjlU32XqOytcbdWtroc56GbiB3ZPx4EKVoy0yKsdWn11iXNa+XsapFmP3ivsZ2ZdOyvc4btgnA+O4\/RXltqKqqomTVlKaWVxOYyc4Gd3oouLWpZCtGbsr+TJaIiiXBERAEREAWYv+JNV2WMe81xdjuyPwK06zEYNf+0B8oGWUMGztd5HD\/OfJWQ1bM205xjHm17mnXxzg1pc4gADJJ5L6s3qGoqK+501ipH7Il61Q4cWt3H5ZUYq7LatTo43I9XV1Oqqx1vt7zHboz9\/Uf2+4JaYGWXWc9vjOIamAOjDjkkgZ4+DlpaOip6CmbTUsYjjZwA+Z7VQaxikphR3mnwJaSTDu8Ht7uX\/crIyu8K0MdSk4R6aWck7vu5I0yLnBPHUwRzxO2o5GhzT2groqT0E7hF8c4NaXOIAAySeSyslyr9SXMU1pmkpqGndmSpbuLz3fh5qUY3KqlVU7LVvRGpexkjCx7Q5p4hwyCuMVDRwP24aSCN2MZZGAfT4BSEUbljSeYX5t7Y8Q3GigP3twrdhoxnq5Oc+JHqv0lfnukKL2\/UMlW7JZT5kyObid31PgrqVkm2YNsUpThGPG\/wCS31HaRb7DRzUeA+2OaQ7G85Iyf8WD5q0qqWn1LYGE7GZYw+N3HYfj8chWc8EdTBJBK3ajkaWuHaCszp6d9kucun6t+QTt07zuBzy\/XPK4m2u1E5QjCpZrdkrePD6HTT9eKuKSw3aJpqafq7MuCJGj48SPlvV3SWuhoXF1LSxxOPNo3\/D4dyr79YftEtrKN\/QV8O+OQbtruK42jUrpJzQXiMUVYzgX9Vsnn+jyR7yvEQapyUKng\/3iaFERVG0IiIAiIgCIiAzFH93+0OuA4SUwOOzcz8PVadZj+F+0Ts6Wm8935LTqc+HcZtn\/ALL\/ALMIiKBpCIiAIiIAiIgCIiAIiIDlU1EVJSy1MztmOJpc49wWf0bA+WmqrrOB0tbMSD3A\/jnyXLUtVLda+LTtERtPIfO\/O5oG\/B9D5LS01PFSUsVNC3ZjiaGtHcFZ1Y95lT6WtdaR9fwdVl77L9k6mt90dGOhkBhldwx3nwPoVqFCu9tju1tlpJMAuGWOP8ruRUYOzzLK8HOG7qs14E1cqmniq6WWmmbtRytLXDuKp9N3OSSJ9sr3Yr6Ulrmu4ubyPfxCvUacWShONSFzM6WqZaGpqNP1Z+9piXQu5OYezzz4nsWjlljhjdJLI2NjRlznHAHisrrLo6KrorpBNGyshcAY9rrPbv347OI8V4iiuWsXNlnd7La2vyI2nLn4P63lWOOLeMcKrpN0Urtad3b3HSrq6jVVY+32+R0VvjP384Hv9w\/BaWjo4KClZTU0YZGwYAHPvPaV6pqaGjgbBTxiONgwGhdVXKV8loaadLC8Us5P9sgiIol5CvFwZbLVPVuOCxuGDtcdwHmqbQkDY7I+Ue9LMcnPIAAfVRdfVpENNQNPvkyv343DcPr5K30nH0emaMY3kOdw7XEq61qd+ZhU8e14f+K9bFyqDVtvdUW4V9P1amhPSteOOyN58uPgr9R64B1vqWneDE4HyKri7O5qqwU4OLPFqrW3G109W3\/5WAu7ncCPMFcrtZqO8QGOpZ1wMMkHFv4qBopxdp2PPKRwG7vV+uy3ZOxCnarRWJXujKB+odOMc3ovtSjactdk9I0epA8CAr61XSG70Iq4Gva0ktIeMEEKavgAHAYRyT4ZinScHlLLl+T6iIoF4REQBERAZirwz9olDj+emOfJ\/wCC06zFd\/7iW3\/pj8pFp1OfDuM2z6z\/APX2QREUDSEREAREQBERAEREAVde7tHZrc+pfh0nCOMnG2f1vViqmusTbjeaauqJy6GnHVp8btrOc\/j8ApRtfMrq48O5r+5kfStskpKN9dVkuq60iR7id4bxA7jv3\/kr5EXJO7uKdNU4qKCIi4WFJd7FNVVbLhbar2StYMFx3teOWf8AYqNJQ6prmGOWvp6Vm0cuhyHEbsYx481pEU1NlEtni23dq\/JlHQ6Tt1LtPqA+tlf7z5zkE893hzyq62SO0xfHWioJNFVu2qaU8id2D8j4Hmtaq2+2iO8219OcCVvWif2O\/Arqnd2kVzoKKUqSs19ewskVDpe7SVlM+hrMtraTqvDhvIG4H6H81fKElZ2Zop1FUipIIigXqvFstFRVbQD2sxHnm47h6old2OykoxcnwMlcv+K3K813vRUUHQxkHIzw\/wBXDt89Rpv+rtF\/ylT0NnqJdEvgiANVWkSFx59YEZJ47h6rRWymNHa6WmcAHRRNa7Hbjf6q2bVrGHZoSVTG1qr+b9iUoN6nFNZqyUu2cROAOQN5GBx7yFOWW1TM651lLYqYOc58odO5o9wY\/B2T4dqrgrs1V54KbfHRd5Y6Ug6DTlL1cF4Lz4k49MK4XiKJkMTIo2hrGNDWtHIDgF7XG7u5OnHBBR5BERcJhERAEREAREQEGW00013huji\/p4WFjQD1cb+X\/cVORF1u5FRSvbiERFwkEREAREQBERAEREAREQBERAEREAREQBERAZfUdHLba+HUNCzfEcVLB\/O3hny3eRWhoqyCvpI6qmftxyDIP0K6vY2SN0b2hzXAhwPMLK0bKnTF+ZQNbJLba1+IjxLHH9b+7fyVi3lbijI\/4amJdWWvY+fiaxZjVgdWXC12sOIjnlzKM4yMj\/8AXotOqPUFuqJamkuVHH0s9I7PR598dnzXIO0ie0xcqbS7PK5dtaGtDWgAAYAHJfVQUmsbbNHis6SilHFkrSfIgfPC6VGrbVHTvfTze1SNGREwEE+JCYJcjq2ija+JEq93aOzW59S\/DpOEcZONs\/reoOmLTNTMkudcdqsrOsc8WNO\/H67Aotstdbd7p9sXmIMjA\/o9M7+XsJH6yVqV17qwohBOrPpJLJaL7hERVmoIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgK66UVJPGHy00Mji7G0+ME8PyHko9soKOKq246SBjmjIc2MAg\/olEWhdQ8uf+R4lyiIs56gREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQH\/2Q==",
    "razonSocial": "BLINKEND SEGURIDAD SPA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "EUGENIA",
    "correoContacto": "egonzalez@blinkend.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "CONFIGURACIÓN",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56944927696",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "15:37",
    "ubicacionGPS": "LatLng(lat: -23.6871637, lng: -70.4097485)",
    "horaLlegada": "15:23",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "15",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 15:36:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76548103

[09/06/2026 15:36:54] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76548103', 'EP3160', 1, 24456550, 1815, NOW(), 
				'08:00', '15:23', '15:37', 15, '•Se deshabilita prioridad de improsión por alimentador posterior
•Se conecta 1 pc para imprimir
', -1, 
				'', '','1','928',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781033814.png', '', null, 'COMPLETADO','LatLng(lat: -23.6871637, lng: -70.4097485)' )
				
[09/06/2026 15:36:54] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200655

09/06/2026 15:36:54 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200655'                    
				WHERE idllamado = 12956			
				TO ENVIO: micorreo@miempresa.cl, egonzalez@blinkend.cl


09/06/2026 15:36:54 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12956			
				
09/06/2026 15:36:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


09/06/2026 15:36:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:36:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:36:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:36:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12956
            GROUP BY l.idllamado;
            

09/06/2026 15:36:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:36:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:36:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:36:56 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 15:36:56] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:36:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12953
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE ESCÁNER SE QUEDA PEGADO Y ADEMÁS NO LLEGA AL PC
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 13458077
            [ClienteRazonSocial] => CAROLINA ANDREA LEIVA PEREZ
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2797
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:36:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12956
            GROUP BY l.idllamado;
            

09/06/2026 15:36:56 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 15:36:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

[09/06/2026 15:36:56] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:36:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12953
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE ESCÁNER SE QUEDA PEGADO Y ADEMÁS NO LLEGA AL PC
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 13458077
            [ClienteRazonSocial] => CAROLINA ANDREA LEIVA PEREZ
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2797
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:36:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12956
            GROUP BY l.idllamado;
            

09/06/2026 15:36:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:36:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:36:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                
[09/06/2026 15:37:18] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '20988335'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 15:37:18 - INPUT: {"rutTecnico":"20988335"}[09/06/2026 15:37:18] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 20988335 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '20988335'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 15:37:18 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [RutCliente] => 73836100
            [ModeloMaquina] => ESTUDIO 6528A
            [FechaLlamado] => 02/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [RutCliente] => 73836100
            [ModeloMaquina] => AM-C400
            [FechaLlamado] => 02/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TUTORIAS PREU GAUSS LA SERENA SPA 
            [ciudad] => LA SERENA
            [RutCliente] => 76669222
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 01/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => VENTA
            [FechaLlamado] => 28/05/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => CONGREGACION SALESIANA
            [ciudad] => LA SERENA
            [RutCliente] => 80230500
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 28/05/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [RutCliente] => 73836100
            [ModeloMaquina] => ESTUDIO 6528A
            [FechaLlamado] => 27/05/2026
        )

)

09/06/2026 15:37:21 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 15:37:21] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:37:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12958
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2448
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12957
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MFC-L6700DW
            [SerieInternaMaquina] => BR1815
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:37:28 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 15:37:28] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:37:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12958
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2448
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12957
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MFC-L6700DW
            [SerieInternaMaquina] => BR1815
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:37:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12960
            GROUP BY l.idllamado;
            

09/06/2026 15:37:32 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 15:37:32] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:37:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12958
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2448
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12957
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MFC-L6700DW
            [SerieInternaMaquina] => BR1815
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:37:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12960
            GROUP BY l.idllamado;
            

09/06/2026 15:37:34 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 15:37:34] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:37:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12958
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2448
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12957
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MFC-L6700DW
            [SerieInternaMaquina] => BR1815
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:37:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12959
            GROUP BY l.idllamado;
            

09/06/2026 15:37:35 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 15:37:35] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:37:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12958
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2448
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12957
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MFC-L6700DW
            [SerieInternaMaquina] => BR1815
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:37:39 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 15:37:39] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:37:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12958
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2448
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12957
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MFC-L6700DW
            [SerieInternaMaquina] => BR1815
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:37:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12770
            GROUP BY l.idllamado;
            

09/06/2026 15:37:40 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 15:37:40] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:37:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12958
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2448
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12957
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MFC-L6700DW
            [SerieInternaMaquina] => BR1815
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:37:44 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 15:37:44] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:37:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12958
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2448
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12957
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MFC-L6700DW
            [SerieInternaMaquina] => BR1815
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:37:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12770
            GROUP BY l.idllamado;
            

09/06/2026 15:37:46 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 15:37:46] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:37:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12958
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2448
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12957
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MFC-L6700DW
            [SerieInternaMaquina] => BR1815
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:37:47 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 15:37:47] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:37:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12960
            GROUP BY l.idllamado;
            

09/06/2026 15:37:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12958
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2448
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12957
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MFC-L6700DW
            [SerieInternaMaquina] => BR1815
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:37:49 - INPUT: {"rutTecnico":"20988335"}
09/06/2026 15:37:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12960
            GROUP BY l.idllamado;
            

[09/06/2026 15:37:49] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:37:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12958
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2448
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12957
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MFC-L6700DW
            [SerieInternaMaquina] => BR1815
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:37:51 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 15:37:51] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:37:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12958
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2448
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12957
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MFC-L6700DW
            [SerieInternaMaquina] => BR1815
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:37:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12958
            GROUP BY l.idllamado;
            

09/06/2026 15:37:53 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 15:37:53] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:37:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12958
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2448
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12957
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MFC-L6700DW
            [SerieInternaMaquina] => BR1815
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:37:54 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 15:37:54] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:37:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12958
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2448
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12957
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MFC-L6700DW
            [SerieInternaMaquina] => BR1815
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:37:55 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 15:37:55] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:37:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12957
            GROUP BY l.idllamado;
            

09/06/2026 15:37:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12958
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2448
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12957
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MFC-L6700DW
            [SerieInternaMaquina] => BR1815
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:38:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:38:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:38:45 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:38:45] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:38:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:38:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:38:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:38:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:38:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:38:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:38:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:38:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:38:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:38:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:38:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:38:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:38:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:38:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:38:46 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:38:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:38:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 15:38:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:38:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:38:46 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:38:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:38:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:38:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:38:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:38:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:38:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:38:46 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:38:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:38:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:38:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:38:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:38:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:38:46 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:38:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:38:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:38:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:38:46 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:38:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 15:38:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:38:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:38:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:38:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:38:46 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:38:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 15:38:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:38:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:38:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:38:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:38:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:38:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:38:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:38:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:38:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:38:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:38:47 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:38:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:38:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:38:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:38:47 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:38:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:38:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:38:47 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:38:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:38:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:38:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:38:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:38:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:38:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:38:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:38:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:38:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:38:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:38:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:38:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:38:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:38:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:38:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:38:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:38:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:38:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:38:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:39:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:39:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:39:18 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:39:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:39:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:39:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:39:18 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:39:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:39:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:39:18 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:39:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:39:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:39:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:39:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:39:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:39:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:39:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:39:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:39:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:39:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:39:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:39:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:39:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:39:19 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:39:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:39:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:39:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:39:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:39:19 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:39:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:39:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:39:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:39:19 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:39:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:39:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:39:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:39:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:39:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:39:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:39:19 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:39:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:39:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:39:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:39:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:39:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:39:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:39:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:39:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:39:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:39:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:39:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:39:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:39:20 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:39:20 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:39:20 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:39:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

[09/06/2026 15:39:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 15:39:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 15:39:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:39:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:39:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:39:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:39:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:39:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:39:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:39:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:39:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:39:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:39:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:39:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:39:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:39:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:39:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:39:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:39:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:39:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:39:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:39:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:39:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:39:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:39:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:39:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:39:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:39:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:40:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12961
            GROUP BY l.idllamado;
            

09/06/2026 15:40:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:40:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12961
            GROUP BY l.idllamado;
            

09/06/2026 15:40:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:40:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:40:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:40:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:40:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:40:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:40:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12961
            GROUP BY l.idllamado;
            

09/06/2026 15:40:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:40:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:40:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:41:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:41:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:43:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12961
            GROUP BY l.idllamado;
            

09/06/2026 15:43:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:43:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                
=========================================
FECHA: 09/06/2026 15:43:10
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-yKnxjE01TEzKPhI_MYHyOzDDjMqJFROQ0Or5Qen7.0bT9GzcPWG
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69020400",
    "serieinterna": "EP3137",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "355",
    "contadorColor": "6411",
    "contadorScanner": "0",
    "detalle": "Mantenimiento, ajustes\ny limpieza",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12961",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAC9AOQDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABBEAABAwMCAwYDBgUBBgcAAAABAAIDBAURBiESMUETIlFhcYEUkbEVIzKhwdFCUmLh8CQWM0NygvElNJKissLS\/8QAGAEBAQEBAQAAAAAAAAAAAAAAAAIDBAH\/xAAvEQACAgEDAQYGAgIDAAAAAAAAAQIDERIhMUEEEyJRYdEycZGhscEjgeHwBRQz\/9oADAMBAAIRAxEAPwD9mREQBERAEREAREQBERAEREAREQBFFjuVHLXyUMc7XVEbeJzB0ClJjB4mnwEREPQiIgCIiAIiIAiIgKvUJr2Wl81ukLJoXCQgDPG0cx+vsu1nubLtbIqtgDS4Ye0fwuHMKcspTt\/2e1aaYOPwly3Y0DZj8\/57EK0srHU5rG67FLo9n+matERQdIREQBERAEREAREQBERAEREAWevd7mNQLRaB2ldJs545RD9\/ovt8vc\/xItFpb2ldJs5w5RDx9foplkskNmpyAe0qJN5Zjzcf2WiSiss5ZzlbJ1w46v8AS9fwLJZIbNTkA9pUSbyzHm4\/srREUNtvLOiEIwjpjwERF4UEREAREQBERAEREAWd1pSuktLKyPaSjkDwc4wDsfzwtEod3YJLNWsPWneP\/aVUXiSZlfDXXKJ0oKtldQQVTCMSsDtjyPUfNFWaPkMmmaXiJJaXtyT\/AFFEksNo9qlrrjJ9UXaIik0CIiAIiIAiIgCIiAKl1DfTao46emZ2tbUbRMAzjpk+\/IKTe7vFZre+pkw557sTP53ft4qt07aZppftu6EvrJt42u\/4bem3Tb5BXFLGpnNbOTl3VfPn5L38iVp6xm1QyT1Lu1rag8U0h3x1wD68\/FXKIpbbeWbQhGuKjHgIiLwsIiIAiIgCIiAIiIAiIgCj3AB1tqQ44BheCfYqQqrU03YacrX5IzHw7f1ED9V7FZaIsemDfoRdFknTcOej34+aKXpuD4fTtEzxiD+f83e\/VF7PeTIoWKop+SLRERSbBERAEREAREQBc5po6eF80zwyNgy5zjsAuiyV2nk1LdxZaOTFJCeOombvkjp\/nX0VRjlmN1vdx23b4QtMMmprubzWRgUkB4KeF2+43yfHn8\/Ra1c4YY6eFkMLAyNgw1rRsAuiSllimvu477t8sIiKTYIiIAiIgCIiAIi+EgDJOAEB9RUNw1dQUknYUwdXTk4DIdxnwz+2VGNXq6uP3FDBRRk5BkILgPPJ\/RWoPrsc77TDOI7v03NOizAsWo5cyT38sk6NjaeH9PovL4dX21jpG1MFexv8HD3j+Q+q90LzPO\/kt3B4\/r3NSszq6Z1VLQ2aFze0qpQ54PLhB2z5Zzy8FYWjUNJdKGSdxEEkDSZ43H8AHM+irNNxvut5rb9LngJMUAztj\/tj5lIpxbb6EWzVsYwg\/i\/HX2NNDE2GFkTPwsaGj0CL2izOwIiIAiIgCIiAIijXCuhttDLVzuAbG0kDOOI9APMotzxtJZZU6nvE1HFHQUGXV1Vs1rRu1pyMjzzy9\/BTbHZ4rLbxTsPHI48Uj\/5nfsqrTNDLXVUmoK4ZlnJ+HaSfu27g\/sPL1WnWktlpRzUp2S76X9fL\/IREWZ1BERAEREAREQBF5c5rGF73BrWjJJOAAsxV3uvvlS6gsDSyJpxLWHYD08PqVUYtmVlsa+eXwixvGo6S1HsW5qKt2zII9znpnw+qrI7Hdr87t71VPp4HHIpIjjA6Z6D3yfRWdl05SWj77eercO9M\/nnrjwVwq1KPwmKqnbvbx5e\/mQbfZrfawfg6Zkbjzfzcfc7qciKG2+TpjFRWIrARFS36\/fZ\/DR0bO3uE20cY34c9SiTbwjyc41x1SM5qaOCfU8dHQSMhkqQ2Ooc3YcRd1x15ZHottR0kNBSR0tOzhijGGhYivszrQ621U8hlr6iqD5SD1znb3K3y1seySOPssf5JyksP3\/3cIiLE7wiIgCIiAIiIAsjWOdqu\/wDwEZd9nUTszuGO8\/cbfQe5U\/VV0lpqZlvowX1lZljWtG4adiR5\/wB\/BT7JaYrNbmUzMOk5ySAY43f5stF4Vq6nJZ\/NPu1wufb3J7WhrQ1oAAGAB0X1EWZ1hERAEREAXlzmsYXvcGtaMkk4AC9LNaoq5quogsFGfvaogzOAzwMz\/Yk+XqqisvBlbYq46jRtc17Q5jg5p5EHIK5VlZT0FM6pqpBHGzmT9B4ri6SlslqaZnhkMDAM4xk+Q8T4KgpKSp1VWNuFwYY7dGfuKc\/x+ZXqjnd8EWWtYjFZk\/8Acv0OX+v1nN\/HR2ph\/wCqQ\/Q7+w8ytVR0dPQUzaaljEcbOQH1PiurWtYwMY0Na0YAAwAF6SUs7Lg9qpUHqbzJ9QiIoNwi5zTRU8TpppGxxtGXOccALE6g1k6oL6S2uLITs6cbOd48PgrjByexhf2iFKzIvL1qRlHIaCgaam4PPC1jRkMJ8fPyX2zWiK0h9bcZ2Pr5RxSSyOHdz0BP1WfstvvE0BFup20Mcn4quf8A3r\/HBxsPQe6l1+nbRaKL4u61U9VLk4HFwmQ+GOfvlaNJeFM4o2WTfeyjxxnZL3+Z21NVU9Xc7LHTzxyn4nfgeHY7zeeFrF+cacozUarhPw3w7Ix23Z5J4W47vP1aff0X6OpsWnCNuyTdmuxrl\/hBERZHcEREAREQBcKyrhoKSSqqH8MUYy4ruspdnu1Ffo7PA8\/C0x46pwyMkHdv6epPgqjHLMbrNEduXwe9NUs1yrptQ1zOGSQ8NOzGzW4xke23z8VqF4iiZDEyKNoaxjQ1rR0A5Be0lLLPaq+7jjr1+YREUmoREQBZ25aimkr\/ALLssYnqs4fIfwsHXy28T+a5X29VVXWGx2YE1DtppRsIx1GenmflurSzWWlsVEWMIMhGZZnbcX7ALRJRWWckpytloreEuX+kfa2vNmsnxFbI180cYaSBs+THT3VZpyh+Fgnvt0cGz1OZCXjHZNyfr9MKKwHVuoHPcM2yhPDw5OJXb4Pv9PVe7q6XUl4+xaZwjo6U8VRI08yNsD03GPHfoqSwsfUxlZqetLKW0V5vzPNDDLq6uNfWgst0D8Qwfznz\/X5LR3CugtVvkqZQBHE3utG2T0AXeGGOnhZDCwMjYMNa0bALF3SSbVWpG2yB5bR0zjxPaM8ubj77D1814vG\/RFyzRDbecvu\/ZFppX46umqrxVSvbHUnhjh\/hwORHpy+a0i5MZBR0wY0MhhibgdGtCoLnra3UeWUgNZJ\/SeFg9+vspw5vZGqlDs9aU5GjJAGScALO3nWVFQAxUZFVP\/Se431PX2WdNRqDVspjjy2nzghvdib6nr+a01m0lQ2stml\/1NQB+Jw7rT5D9Sr0Rh8Rh39t+1KwvN\/ozzbbqDVUjZqtxhp85aXjhaP+VvX1\/Naa1aVttr4X9n8ROP8AiSjOD5DkFPuF0o7XD2tXO2MdG83O9B1WKrtR1+oq2O30TXwQSuDeFh77h1JPhjovU5T42REo0dneZeKb+v8Ag0N21OynlNDbI\/jK5x4eFgy1h8\/H0+eFyt2nZH1H2pfpviKkd5sZPcj\/AE\/T1VrarNRWeHs6WPvEYfI7dzvU\/ooOrriaGzmKLi7eqPZx8OcjxO3y91Ke+mJtOLUXbd06dP8ALImkh8ZXXS7EHE8xZGcfw5z\/APn5LUKDZ7e22WqCkA3Y3Lz4uO5\/NTlE3mRvRBwrSfPUIiKTYIiIAiL45wa0ucQABkk9EBU6lu32Xa3dkT8TP93CAN8nr7Z+eE05aBarcO071TP35n75J3wN\/DP1VVbmnUmpXXVzXfB0R4IAQMOcN\/HxOfktYtJeFaTkq\/lm7Xxwv2\/7CIizOsIiIAqbUt6+yaENhw+rnPBEwcx\/Vj\/N1bSyshifLI4NYxpc5x6AcysxZY332\/zXyXPw0BMdK12fn8sn1Pkrgly+Ec983tCHL+y6ss9PWYWih+9AdVy96aTOcnoM+Sgalr5qypj0\/QHM05AqHAZ7Nm36bny9VaXy8xWWgM7wHyOPDFHn8R\/YKjss1BZIX191rGuuNUOJ4B43tadwCB6ZPsqjl+JmFrjFKiLwuvy92WtV2WmdNPFMBmFmGE4HE89T9ceWF50pbnUNmY+UHt6k9rJknO\/LPnhZ7UeoTebYY6WhqG0zZAXTuG2eg226+KlR2m5XOgbV3O9NiouzD+CDlwgdeQH5qtL079TNXRdv8ayktui+5P1TqCCjtslPSzsfUzdzDHA8A6k\/mFQ6eku0FG5lptfFLNu6rlGBjwBOBt7rxp6hoY55bzWO7Khp3nsWynLnu6cuePLqrWW4XTUbXsoP\/DrY3IdUyHhLhy\/wD3KvCitKMdcrZKyTw+iXPz9PmVNzE8k5pq+4y3KscQGU1Me413n0z5AfJWVo0UZHtqbq1rG8200Z\/wDkf7+6601y01pqMspXmrqOTpIxxE\/9XIDyBVfU6svV2c6C20zomnl2LC9+PXp8k8b2jsicUReqx6n5Lf6vqbKert9op2MmlhpomjDGctvILNV2rKuuJjtTWU0HI1VSQ35Z2+p8lXwaNvVwk7aumERdzdK\/jefl+6j3W2W23udRU0klbWNB7R7jwxwgb9Ovvj3XkYQzzlmlt97jnTpj9z5XGmonMe2q+1LlLh3a5LmRZ5YH8R9eXgtTpawfZtP8XVszWzZLi45LAenr4qk0XYviZxdKlgMMR+5B6vB5+g+vot4ptljwovsdOr+WS+S\/YWUheL9rQyhofS21uA7oX52Pzzj\/AJVaakuptdreYs\/Ez\/dwgA54j19l609aBZ7W2FwHbPPHKQc97wz4KI+GOTqs\/ksVa4W7\/SLVERZnUEREAREQBZ3VdxkEcVmpBxVNd3ef4Wk4\/PcegKvamojpKaWpmdwxxNLnHyCzumad90rZ9Q1jO\/I7gpx0a0DBI+nsfFXBY8T6HNe3LFUeX+OpeWu3xWu3xUkP4WDcnm4nmVLRFDeTojFRWEEXwkAZJwAqu4altVuyJakSSA4McXecP2XqTfBM5xgsyeC1XwkAZJwAst\/tFerqMWi1FkZBxNNy9icD6oNL3O5O47zdnubnPYwcvz2HyV6MfEzD\/sav\/OLf2X3Pmsr5C23Ggpahj5ZXcMnZv3aBuQceKhN1NUUFnjjtlsMdNC0NE9RycTzwBzJOTsT1XO0QWuiuddcn92ioj2UYkw4yP8QD12\/PoNhYUlHUaqrW3G4sMdvjP+npz\/H5la4jFYfBw6rbJOUXiT2SXkuufL8kOisFx1OyO43Wtcxjto2hgyW+Q2A\/VaCh0rZ6HBbSiZ4\/jn75+XL8lbgADAGAF9WTskzur7LXDdrL82c5qeKop308sYfE9vC5p5EL8zvvZW+rlt1vrah9O3uyRl54A4Hljr5+a2epL0+iibQUOX3CpwI2sGSwHr+3z6Kk0damS3OrqZ2iYU54GueM98nc49ufn8rr8Kcmcva8XWKqHPn5ehn6e33a6tijhp55mMHDGSMMaOfM7BaCm0RcamNguFwDGtADYwTIWjHLfYey24AAwBgBfV47pPguv\/j64\/E2yiotH2ejGXQGpf8AzTHP5Db8lcsZFTxYY1kUbRnAAaAuNfcaS2U5nq5hG3oOrj4AdVmT9paxl246K1NP\/VL+\/wBB54UpOW7exu5V0+CuPi8l+ztX3uqvtQbZYchv\/GqtwGjyPT169FUxWiGtuP2Hb35ghIfV1XWQjoPDGcAeO++FeXipi09a4bZaoyypqTwwhu5zkAuPmc4H9lY2G0ss9sZABmV3eld4u\/tyV6tMco5nU7bNM3l9fT0X7J8MMdPCyGFgZGwYa1o2AXtzg1pc4gADJJ6L6s5qqvmeIbLQOBqqwlrwCO6zHI+GfoCsorU8HdZNVQyRqBp1FqqS4nvUVAeCHwc4cj8+9\/6VrFEtlvhtdBHRwZLWDdx5uJ5kqWknl7HlNbhHxcvdhERSbBERAERRbjXxWyhlq5t2xjZuQC49AMolk8bUVllFqSofdLhBp6ldvI4PqHA\/haN8Hb3+S0VNTx0lNFTQt4Y4mhrR5BZKy1VLaYZrzdpwKyu7zYwMu4DvsPA7c8cgu4vF9v8A3LTSfB052NTLzI8v7Z9VtKL4XCOCu6KbnLeT4S5x09zRVlwo7ezjq6mOEHlxO3PoOZVBJqypr5XwWO2yVLht2z9mj2\/chd6TR9GyUVFwmmr5\/wCIyu7pPpzPuVewwxU8YjgiZEwcmsaAB7BT4F6m2L7OXpX1fsZpunLtdAH3q6yBpG8EGAMevL8irWh05abfgw0bHPGPvJO+7Pjvy9sK0ReOcmXDs9cXnGX5vdhVt+uTLZaZ5jI1spYWxAnBLjyx9Vyveoqazt7IDtqt47kLdznpnwWRvdtuUraaruk\/+qq5QyOEco2+H5jb9VUIZabMe09o0xcYbv8ABJ0zpua4RQ1FwyKJhL4oTt2hPU+Ww9ceC3bWhrQ1oAAGAB0XxrWsYGNGGtGAPAL0pnNyZtRRGmOFyFX3q7RWe3PqX4c\/lHHnd7v85pd7zSWamMtQ7LyD2cQPeef86qntFpqrtVi83oZJ3p6c\/hYOhx+nuUjHq+Dy2157uv4vx6s+Wq31ENJV6hriX100DnsbjHZjG2PA4A9ApGiYuz082TOTNK953z5for6WNk0T4pBxMe0tcM8weazZ0nVx8UNJepqekLy5sTQe5nfA7yrUpJp7GXdSqlFwWcJ\/V9S8rbpQ25nFV1UcXkTkn2G6oZtU1Vye+msFDJK\/OO3eMNb54\/f5KVSaNtVO4PnbJVvHWV23yHP3yr1jGRsDI2hjWjAa0YAXmYrjcvTfZy9K9N39TPUGle0l+Lvk5rqg8mFx4G\/v9FezzQ0VK+aQhkUTMnG2AF2WY1RUOr62jsED8OqHh8xHRo3A\/In2CLM3ueyUOz1txW\/5Z507TOu90qNQ1TDwvcW0zXAYAG2R5jGPXK1K5U1PHSU0VNC3hjiaGtHkF5q6ynoKZ9RUyiONg3J+g8Spk9T2Lqgqobv1bOF3usFooH1MzhxYIjZnd7ugVXpm2TOe+93HJraoHAIxwM2xt0O3ywolup59UXVt3rGcFFTnFPFnPERvv78\/l0WtVPwrHUyhm6feP4Vx7+wREWZ1hERAEREB5c4MYXO5NGTtlYW83CbV1dFbrUxxhiy9zn90E8uI+Qz67rY3Ovjttvmq5CMMbsPE9AqfRtsNLbXV0zfv6w8fLGGdPnz9wtYeFORx9oTtmqk9nu\/kdLZpKjpXCetPxtSdy6Qd0HyH7\/kr4AAYAwAvqLNyb5OiuuFaxFYCL4SAMk4AVDctXUNI\/sKQGtqCcBkW4z6\/tlFFvgWWQrWZPBeuc1jC97g1rRkknAAWZrdS1NxndQafhMz+T6gjus8xn6lc2Wq96geH3iY0lGTn4aM4J8M\/3WkoqGmt9O2ClhbGwdBzPmT1V+GPO7MM2XceGP3fsVtm05Dbnmrqn\/F1z93TP34T\/Tn68\/TkoWqSftuwDO3xX\/2YtOq69WeK9UYgkkdE5jw9j278J9PRIy8WWVZSlS4Vr\/c5LFUF41PDRvNHQN+Lrnd1rGDIafPHP0+iiiwX+t4YrlesQgYcICcuHgdhn3yri1WOhs8fDTRZeecr8F598JiMedzxyus2itK83z9CttenJn1gul7l+Iq85ZHnLI\/D\/BsPNaNEUyk5cm1dUa1iIREUmgREQBZbTDWXG8XO8uBPFJ2cRO+B\/wBg1aWdr308jWfjLCG+uFjbTBqSko32yjo2U+JHF9S8Y642zz5c99sLSC2Zx3yxZDKbSz9ehqbld6K0w9pVzBpxlrBu53oFnqaiq9V1ra64sdDbYzmCDODJ5\/3+SnW3SkEMvxdylNfVncmQ5aPQHn7\/ACV+AAMAYATKj8PJ73c7nmzZeXv7HmKKOGJsUTAxjBhrWjAAXtEWZ1hERAEREAREQGWvpfer\/TWNhIhixLUkHpzxsfTpzIWn7kbANmNaMDoAqyvsUdS2Z1HO+hqKh7XSzR5LngdOew9FWjQ9HI4Pq66rnd1JcBk+4K08LS3ONK2E5NRy31z9EWlXqO0Uf+9ronH+WM8Z\/JVT9XT1oLLJa56l4IBfI3ut9cfqQrOl0zZqPBZQxvcP4pe\/9VaBoaMNAA8AmYLhZK03y+KSXy937GXGn7xdnl96uRjhcP8Ay9O7b0PT6q6ttloLUzFJAGuxgyO3cfdT0UubexcKIQerl+b3YREUm4REQBERAEREAREQBERAEREAREQBERAEREAREQBERAf\/2Q==",
    "razonSocial": "ILUSTRE MUNICIPALIDAD DE MEJILLONES",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "LUIS OSORIO",
    "correoContacto": "losorio@mejillones.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANTENCION PREVENTIVA",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "15:43",
    "ubicacionGPS": "LatLng(lat: -23.1006732, lng: -70.4525137)",
    "horaLlegada": "15:25",
    "horaDespacho": "14:56",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 15:43:10 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:69020400

[09/06/2026 15:43:10] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('69020400', 'EP3137', 1, 21773342, 355, NOW(), 
				'14:56', '15:25', '15:43', 3, 'Mantenimiento, ajustes
y limpieza', -1, 
				'', '','1','6411',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781034190.png', '', null, 'COMPLETADO','LatLng(lat: -23.1006732, lng: -70.4525137)' )
				
[09/06/2026 15:43:10] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200656

09/06/2026 15:43:10 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200656'                    
				WHERE idllamado = 12961			
				TO ENVIO: micorreo@miempresa.cl, losorio@mejillones.cl


09/06/2026 15:43:10 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12961			
				
09/06/2026 15:43:10 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


09/06/2026 15:43:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:43:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:43:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:43:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12961
            GROUP BY l.idllamado;
            

09/06/2026 15:43:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:43:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:43:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:43:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:43:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:43:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:43:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12961
            GROUP BY l.idllamado;
            

09/06/2026 15:43:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12961
            GROUP BY l.idllamado;
            

09/06/2026 15:43:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:43:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12961
            GROUP BY l.idllamado;
            

09/06/2026 15:43:13 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 15:43:13] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:43:13 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 15:43:13] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:43:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:43:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:43:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:43:13 - INPUT: {"rutTecnico":"21773342"}
09/06/2026 15:43:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12961
            GROUP BY l.idllamado;
            

[09/06/2026 15:43:13] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:43:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:43:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:43:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:43:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:43:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:43:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:43:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:43:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:43:47 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 15:43:47] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:43:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:43:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12952
            GROUP BY l.idllamado;
            

09/06/2026 15:43:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12952
            GROUP BY l.idllamado;
            

09/06/2026 15:43:47 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 15:43:47] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:43:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:43:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

09/06/2026 15:43:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12952
            GROUP BY l.idllamado;
            

09/06/2026 15:43:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12952
            GROUP BY l.idllamado;
            

09/06/2026 15:43:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

09/06/2026 15:43:48 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 15:43:48] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:43:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:43:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12952
            GROUP BY l.idllamado;
            

09/06/2026 15:43:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

09/06/2026 15:43:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

09/06/2026 15:43:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

09/06/2026 15:43:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

09/06/2026 15:43:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

09/06/2026 15:43:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

09/06/2026 15:43:56 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 15:43:56] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:43:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:43:56 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 15:43:56] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:43:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:43:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12952
            GROUP BY l.idllamado;
            

09/06/2026 15:43:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12952
            GROUP BY l.idllamado;
            

09/06/2026 15:43:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

09/06/2026 15:43:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12952
            GROUP BY l.idllamado;
            

09/06/2026 15:43:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

09/06/2026 15:43:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12952
            GROUP BY l.idllamado;
            

09/06/2026 15:43:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12952
            GROUP BY l.idllamado;
            

09/06/2026 15:43:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

09/06/2026 15:43:57 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 15:43:57] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:43:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:43:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

09/06/2026 15:43:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

09/06/2026 15:43:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

09/06/2026 15:43:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

09/06/2026 15:43:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

09/06/2026 15:43:58 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 15:43:58] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:43:58 - INPUT: {"rutTecnico":"21773342"}
09/06/2026 15:43:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12952
            GROUP BY l.idllamado;
            

09/06/2026 15:43:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12952
            GROUP BY l.idllamado;
            

[09/06/2026 15:43:58] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:43:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:43:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:43:58 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 15:43:58] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:43:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

09/06/2026 15:43:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

09/06/2026 15:43:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:43:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

09/06/2026 15:43:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

09/06/2026 15:43:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12952
            GROUP BY l.idllamado;
            

09/06/2026 15:43:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12952
            GROUP BY l.idllamado;
            

09/06/2026 15:43:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

09/06/2026 15:43:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

09/06/2026 15:43:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

09/06/2026 15:43:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

09/06/2026 15:47:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:47:30 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:47:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:30 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:47:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

[09/06/2026 15:47:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:47:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:47:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:47:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:47:30 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:47:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:30 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:47:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:47:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:47:30 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:47:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

[09/06/2026 15:47:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:47:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:47:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:31 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:47:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:47:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:47:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:47:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:47:31 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:47:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:31 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:47:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:47:31 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:47:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:47:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:47:31 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:47:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

[09/06/2026 15:47:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:47:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:32 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:47:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

[09/06/2026 15:47:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:32 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:47:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:47:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:32 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:47:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:47:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:47:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:47:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:47:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:47:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:47:33 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:47:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:47:33 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:47:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:47:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:47:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:47:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:47:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:33 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:47:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:33 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:47:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:47:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:47:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:47:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:33 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:47:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:33 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:47:33 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:47:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 15:47:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:47:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:47:33 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:47:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:47:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:47:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:47:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:33 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:47:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:47:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

[09/06/2026 15:47:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:47:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:47:33 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:47:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:47:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:47:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:34 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:47:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:47:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:47:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:47:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:47:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:47:34 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:47:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:34 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:47:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:47:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:47:34 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:47:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:47:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:47:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:47:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:47:34 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:47:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

[09/06/2026 15:47:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:34 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:47:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:34 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:47:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:47:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:47:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:47:40 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:47:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:40 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:47:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:47:40 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:47:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:47:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:47:40 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:47:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:40 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:47:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:47:40 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:47:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:47:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:47:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:47:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:47:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:40 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:47:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:40 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:47:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:47:40 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:47:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:47:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:40 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:47:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:47:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:47:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:47:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:47:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:47:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:06 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:06 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:06 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:48:06 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:48:06 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

[09/06/2026 15:48:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 15:48:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:07 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:48:07 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 15:48:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:07 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:07 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:07 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:48:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 15:48:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:08 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:08 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:08 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:08 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:08 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:08 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:08 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:09 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:09] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:09 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:09] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:09 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:09] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:48:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:48:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:48:24 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:48:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

[09/06/2026 15:48:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:48:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:48:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:48:25 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:48:25 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:48:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:48:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:48:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:25 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:48:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

[09/06/2026 15:48:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:48:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:25 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:25 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:48:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:48:25 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:48:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:25 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:48:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

[09/06/2026 15:48:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:48:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:48:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:48:26 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:26 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:48:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:48:26 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:48:26 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 15:48:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:48:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:48:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:48:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:48:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:48:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:48:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:27 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:27 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:48:27 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:48:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

[09/06/2026 15:48:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:48:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:48:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:48:27 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:48:27 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:48:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

[09/06/2026 15:48:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 15:48:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:27 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:27 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:48:27 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 15:48:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:48:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:48:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:48:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:48:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:28 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:28 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:28 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:28 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:48:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 15:48:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:28 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:48:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 15:48:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:28 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:28 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:28 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:48:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 15:48:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:28 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:29 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:44 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:48:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

[09/06/2026 15:48:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:44 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:44 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:44 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:44 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:44 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:44 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:44 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:44 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:44 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:46 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:46 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:46 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:46 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:46 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:46 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:46 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:47 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:47 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:47 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:55 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:55 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:48:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 15:48:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:55 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:48:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 15:48:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:56 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:56 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:56 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:56 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:56 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:56 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:48:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 15:48:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:56 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:56 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:56 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:57 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:57 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:57 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:57 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:57 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:57 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:57 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:57 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:17 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:49:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:17 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:49:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:18 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:49:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 15:49:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:18 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:49:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:18 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:49:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:18 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:49:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:18 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:49:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:19 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:49:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:19 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:49:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:19 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:49:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:23 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:49:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:23 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:49:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:23 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:49:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:23 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:49:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:24 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:49:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:24 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:49:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:24 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:49:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:24 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:49:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:24 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:49:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:25 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:49:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:28 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:49:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:28 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:49:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:28 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:49:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:29 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:49:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 15:49:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:29 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:49:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 15:49:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:29 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:49:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:29 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:49:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:29 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:49:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 15:49:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:29 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:49:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:30 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:49:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:43 - INPUT: {"rutTecnico":"19969062"}[09/06/2026 15:49:43] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 15:49:43 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 08/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 05/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 05/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ANDREA IVONNE GODOY MUNOZ
            [ciudad] => TOCOPILLA
            [RutCliente] => 15012006
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 05/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => REPROGRAMADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 3518A
            [FechaLlamado] => 05/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => REPROGRAMADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 05/06/2026
        )

)
[09/06/2026 15:49:43] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 15:49:43 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:49:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:45 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:49:45] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:45 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:49:45] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:45 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:49:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[09/06/2026 15:49:45] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:45 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:49:45] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:45 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:49:45] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:45 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:49:45] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:45 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:49:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

[09/06/2026 15:49:45] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:46 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:49:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:46 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:49:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:46 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:49:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:11 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:50:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:11 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:50:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 15:50:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:11 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:50:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:11 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:50:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:11 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:50:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 15:50:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:11 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:50:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:12 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:50:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:12 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:50:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:12 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:50:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:12 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:50:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:12 - INPUT: {"rutTecnico":"21773342"}[09/06/2026 15:50:12] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				
[09/06/2026 15:50:12] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 15:50:12 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 09/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 09/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WFC5891
            [FechaLlamado] => 09/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 08/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => AM-C400
            [FechaLlamado] => 05/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [RutCliente] => 69253200
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 04/06/2026
        )

)

09/06/2026 15:50:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:13 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:50:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:14 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:50:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 15:50:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:14 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:50:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:14 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:50:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:14 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:50:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:14 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:50:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 15:50:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:14 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:50:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 15:50:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:14 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:50:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:14 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:50:14 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:50:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 15:50:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:16 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:50:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:16 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:50:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 15:50:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:16 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:50:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:16 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:50:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:16 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:50:16 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:50:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 15:50:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 15:50:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:16 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:50:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:16 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:50:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:16 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:50:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:16 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:50:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:17 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 15:50:17] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:21 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:50:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

[09/06/2026 15:50:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:21 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:50:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:21 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:50:21 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:50:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 15:50:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:21 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:50:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:21 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:50:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:21 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:50:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:21 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:50:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:21 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:50:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:22 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:50:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:53:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:53:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:53:21 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:53:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:53:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:53:21 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:53:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 15:53:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:53:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:53:21 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:53:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:53:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:53:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:53:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:53:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:53:21 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:53:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:53:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:53:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:53:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:53:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:53:22 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:53:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:53:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:53:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:53:22 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:53:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:53:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:53:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:53:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:53:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:53:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:22 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:53:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:53:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:53:22 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:53:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:53:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:53:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:53:22 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:53:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:53:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:22 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:53:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:53:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:53:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:53:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:53:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:53:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:53:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:53:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:53:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:53:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:42 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:54:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:54:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:54:42 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:54:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:54:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:54:42 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:54:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:54:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:54:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:54:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:54:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:54:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:54:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:54:42 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:54:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:54:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:54:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:54:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:42 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:54:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:54:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:54:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:54:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:42 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:54:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:54:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:54:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:54:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:54:43 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:54:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 15:54:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:54:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:54:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:43 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:54:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:54:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:54:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:54:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:54:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:43 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:54:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 15:54:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:54:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:54:43 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:54:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 15:54:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:54:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:54:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:54:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:54:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:54:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:54:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:54:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:55:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:55:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:55:14 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:55:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:55:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:55:14 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:55:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:55:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:55:14 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:55:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:55:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:55:14 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:55:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:55:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:55:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:55:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:55:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:55:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:55:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:55:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:55:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:55:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:55:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:15 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:55:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:55:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:55:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:15 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:55:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:55:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:55:15 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:55:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 15:55:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:55:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:55:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:55:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:55:15 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:55:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:55:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:55:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:55:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:55:15 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:55:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:55:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:55:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:55:15 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:55:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:55:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:55:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:55:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:55:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:55:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:55:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:55:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:55:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:55:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:55:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:55:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:04 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:56:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:56:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:56:04 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:56:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:56:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:56:04 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:56:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:56:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:56:04 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:56:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:56:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:56:04 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:56:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 15:56:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:56:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:56:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:04 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:56:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:56:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:56:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:04 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:56:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:56:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:56:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:05 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:56:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:56:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:56:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:05 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:56:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 15:56:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:56:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:56:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:05 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:56:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:56:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:56:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:29 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:56:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:56:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:56:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:29 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:56:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:56:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:56:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:29 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:56:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:56:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:56:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:29 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:56:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:56:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:56:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:29 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:56:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:56:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:56:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:30 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:56:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:56:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:56:30 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:56:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:56:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:56:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:30 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:56:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:56:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:56:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:30 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:56:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:56:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:56:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:30 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:56:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:56:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:56:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:57:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:57:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:57:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:57:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:57:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:57:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:57:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:57:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:57:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:57:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:57:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:57:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:57:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:57:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                
=========================================
FECHA: 09/06/2026 15:57:55
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-IJVLBgXnXx11SO5Cjm4-ubnVTJNUShjWph+rZLd7CKjKjSZzEt6
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61814000",
    "serieinterna": "KY3148",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Entrega de insumos\nFirmado por alex vega",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12954",
    "observacion": "Entrega de insumos\nfirmado por alex vega",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACLAKIDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAMFBgQCAQf\/xABAEAABAwMCAgcFBgQDCQAAAAABAAIDBAURBiESMRMiQVFhcYGRobHB0RQjMkLh8BUWJDNSosIHJUNicoKS0vH\/xAAZAQADAQEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAxEQACAQIDBQYGAgMAAAAAAAAAAQIDERIhMQQTIkFRMmFxgaHRI0KRscHhFFJT8PH\/2gAMAwEAAhEDEQA\/AP2ZERABERAFZqC5PtVolqI8dJ+FhPYT2+P78lUsteqnxtnbeow9\/W4C3qjw5fJdmsac1GnJi1pcYnNkwPA4PuJVlaqkVlqpajbMkTSQOQONx7VRO0boxyjvKzjJvRWs7FB\/HL1ZZQ290jZqYkD7TCOXjt8MBaSlq4K2nZUU0okieMtcFUXzUdDRh1CIvt1Q8cJp2jI37D9OayMtqvdvt76hzJ6aikfmSGKQ5a3xGe7bfu3TqCkrvIi68qMmovGl9V5m+rLxbaDIqayKNzebeLLvYN1Tya2o3PMdDR1VW\/s4WYB+ff2LzYbFpypphUUzTWEbOM53acci3YfvmtHFDFAzghiZG3uY0Ae5I8Mci8XXqK6aS7s\/0Zz+OajmOaewFjezpSQffhDetSxdaWxBzeZ6M5PjyJWnRcxLoNuZ\/wCR+nsVFl1FS3kuiDHQVLB14X8\/Q9qt1mNRN+xX+011OOGaWQxyFv527c\/Qn9hadEksmhqM5NuE82giIkLhERABERABERABERABERAEVTTsqqWWnk\/DKwsO3eMLB224XJ9P\/Ldvc0P6V7TUcX4WZ3xj1Od+eyurtdKi8VbrLZzkHapqPysHaAVBc9OCz0VPcLTxfaaHrPPMyjtJ9\/orwslZ8zza7dSWKnotX1XNIurLYaWzQYYOkqHf3JnDcnw7grMgEYIyCuO03SC7UDKqEjJGHszux3aCu1Rle+ZupKCgsGhkLhG3TGoqevp29FQVfUmYwYa0+XvHqtcCCMg5BXDera262uakOOJwzGT2OHJcOkbia2zNikP31KeifvzA5H2behTvijfoQgt1VcOTzX59y9RF5e9sbHPecNaCSe4KZrMxeP67WlrpG5Iph0ru4HOf9IWpWX0q03G4XC+SMIMz+ji4uxo\/ThHotQqTysuhl2biTqf2fpogiIpmoIiIAIiIAIiIAIiIAKg1Rd5aSFlvocvrqrZrWjJa05GR4\/r3K3r62K30M1XN+CJvFjvPYPU4CodMUMlbNJqCuy6eckQB2\/Rs5bfDy808UlxMzVpNtUoav0RbWa1MtNCIeLpJndaaU83u\/TkrBESt3d2XjFRSitDI1ccmk7z9ugDnW2rdidgGRGf3y9QtVDNHUQsmheHxvGWuadiEmhjqIXwzMD43jDmuGxCyT21mjKt0kTH1NpldktzvEfr8U\/b8TK77O7\/I\/T9FlrOZ0OnpA13D0kjW59c\/JVtkiNj1SaAucYq2Brmk\/mcBnOf\/ACHqp9X1lPX6XjqKaUSRvmbgjyOx7ivmrYXQU1vu8LR0lI9uduY5jPhke9PHs4etyFZ\/FdVfLZ+WdzVqg1fXGC1CjheBUVjhE1ucEtPPyHZ6q7injmpmVDHDonsDw47bEZysxZidQainvDwfs1L93TA53Pfjy39QpwWd3yNVeV4qnHWX25s0FrohbbZT0YIPRMAJAxk8yfbldaIkbuaIpRSSCKOeeKmhdNM8MjbzcexUMGs6GouDKaOCcxvcGNm4diT4dyZRb0EnVhBpSdrmiRESlAiIgAiIgAiKGrqWUdJLUyEBkTC45PcEHG0ldmb1A998u8FhpnHo2Hpal7cHhH6Z94WniiZDEyKNoaxjQ1rR2Acgs\/o+mmfTVF1qgDNXSFwON+EfAZz6ALRp55cPQz7OsSdV6y+3IIiJDSF4lijmidFKwPY8Yc1wyCF7RAGC1Lp+W0UsslC8m3yOBkic7PRuzsRnnzx3rRQS02otNPhgfxF0XA4E4LXgbZ9Qvur4+k0zVd7eF3+YKjdap6K2U1\/tE4pnima+eInDX9XfHfnuPxV08UVfU8uUdzVkoq8Ws19dPY5ob3LNpaGzQcRrJZDBjByI+fd44x3ZWztNvZa7ZDRswSxvWcPzOPM+1YzSE9NUamnqZ+COWQPfC0u2DnHcDPM4J96365VydimxLHHeN35LwQXxzg1pc4gADJJ7F9WYv1wnudf\/AC9biA54\/qJTyY3mR9fPCnGN2a6tRU4358u9nPI6TWF3fTteW2qkdlxb\/wAV3n7fTzUmo6eGO4WK3wRNjiNRktYMYGWj6rQ26ghtlDFSQDqxjc43ce0lUV862sLMznjJx3b8\/d7lSMryy0RkqUnGleXabV\/roadERRPQCIiACIiACzWsah80dLZ4QTLWSjOOxoP139FpVlqX\/eOvqif8lDFwN8+X+pyeGt+hm2l3ioL5nb39DSU1PHSU0VNC3hjiaGtHgFKiJDQlZWQREQdCIiAOO70zqy0VdOwZfJE4NHecbe9Yqjq6i+0FvsFNxtYwE1btvwh22PIY9cLUakvf8Iog2DD6uY8MTOZH\/Njt+qpdLQz2fUE9sq+HpJYg9rgM5PM4Pt9ivDKLZ5u0NSrKKfc\/ul5kWp7NGy92xkGKeKdohD2D8LgeePUexdcN6uenZW0t8jdPTEkRVTOs53nvv67+am1j1Z7TLz4Knl37j6K5vNdSW+2yTVrGyRHq9G4A9IewYKMV4pNXDdqNSpKLw2t4acyqvOpYfsEcVpl6eqrOrDwDdu+Mkdh548fJdtgssdooxxDiqpRxTSHck92e4e9Zm16Zub6Vt3pZWUlYXl8MRGG8BHrjOdgexW1HqmalnFHf6Y0cvZMGngd8faNvJEo5WiFKreaqVlbp0\/6zTLMXDEmv7awfkgLiRv8A4\/otK1zXtDmODmnkQcgrNM++\/wBoj8b9DTb57Nh\/7KcOfgadozUV3o06IiQ0hEVLqi6z2q2NdSnFRNIGR9XiI7zj9811K7shKk1Ti5PkXSLxD0nQs6XHScI48cs9qLg4mlbDC+V\/4WNLj5BZ3RUL3UNVXy\/3KqcknOcgfqXK1v0phsNc8c+gcPaMfNQaViEWm6Md7S4+riU6ygzNLi2iK6Jv8FuiIkNIREQAXPXVsFupH1VS\/hjYM+JPcPFTPeyNhfI4Ma0ZLnHACyIEusbqH4LLTRv2Bz9679R7AfFPGN83oQrVXBKMc5PQn07Rz3avfqG4Nw4nhp4yNmjvHv8AeV61S19Bc7de2Dqwv6OXA34T+hcPULTNaGtDWgAAYAHYue40TLhb56STGJWFoJ7D2H0OCu4+K5N7Pak4p5637zPa1mjdR26QPHA6cPEg3wMcwo6aKTVt3dV1DXi1UxxDGdhI798\/QKkhirrxPRWGQNIo3uDpWO4uFu2d+W2MBfodLTRUdLHTQN4Y4mhrQnlwJLmZqSe0VHN9nLza5eRMuetoKS4Q9DVwMmZ2cQ3HkeY9F0IoaHptJqzMlJbLvpqR09pe6sozkupn5PAPAZ38x7Co9K1sdw1JcqyQiOWVoEcbj1uHPywFrKqYU1JNOcYiY55z4DKxlj0xBd7E2rkllhqnyucyYHPhuO3cHuKupJxeI86pSlTqxVPNZu3pl9TcIspHe7pYJxT3yIz05JEdVGMk79u\/6+a01NUw1lOyop3iSKQZa4dqlKLRsp1o1MtH05kqytSf49q+Kmbh1LbOs\/tDn53HPvAHoe9W9\/urbRa5J8jpXDhiae1x7ceHNQ6Ytb7Zax0wIqJz0kvFzz3HdNHhWInV+JNU+Wr\/AAi5REUzUZnWF2pW2yrtol\/qS1h4eW3ED8Arq0MEdmomDsp2D\/KFSa3tsE1rNw4SJ4C0cQ7QTjf2qC3arfQU0NPdqCWBjY2iOZjSWuGNvh2Eq2G8FhPP3u72iW86ZeprkXJRXShuTSaOqjmwMkA7jzB3C6XvZGwvkcGNaMlzjgBSs0b1JNXTyPSjmmjp4XzTPDI2DLnOOwCqq3VVoogR9pE8nZHCOIk+fL3qrioLnqqVtRcy6ktwIdHTtO7+4\/r7AmUObyRnnXV8NPN\/7qRyyVusqnooOKmtMT8Peech\/fZ2cytVSUdPQUzKemiEcbBsB8T3le6enipYGQQRiONgw1reQUiJSvktBqVHA8UneT5+3cFntSXmSAstVvw+uqjwbH+2D8CfdzUl\/v5oC2hoW9NcJtmMAzwZ7T4+C9WCwC2h1XVu6avm3kkJzw57B9V2KSWJiVJupLdU\/N9P2dNjs8Vlt4p2HjkceKR\/+J30VkiJG23dmiEVCKjHRBERcGKrU8xg05WuGcuZwbeJAPuK96dg+z6foo8Y+6DiPPf5qt11L0dgazP92ZrcehPyWgp4ugpootvu2Bu3gMJ32EZo57Q30S9T7LFHNG6OWNsjHDDmuGQfRIoo4ImxQsbHGwYa1owAF7VHqi6voqJtJTDirKw9HE0YOMnB29cBKk27Fak404ubK\/DtR6tzguoLaf8Ate8fr7m+K1irbDa22i1RU2B0pHFKR2uPP2cvRWSabu7LQShBxjilq837eQRESFzgvlL9sslZBjJdES0Y5kbj3gLj0tLHXaZp2StbIGAxva4AjY7beWFdEAjBGQVl9ME229XKzP6rQ\/pYQcDI\/wDnD7FRZxaMtThrRl1uvyjrqtHWqeQywtkpXnthdgd3L6LnboW28XFLU1cp8Xj6LTIubyXUZ7LRbu4orqOwWqhx0FDEHD8zhxO9pViiiqamCjgdPUStijYMlzjgJbtlVGMFkrIlWevGopG1Attmj+01ztiW7tj+XyHauSovVfqKV1FZI3xU+QJat22B4d3x8ld2eyUllp+jgbxSOHXlcOs4\/IeCeyjnLUzupKtw08l19vc5bDp8Wziqqp\/T182TJKTnGewfVXaIkbbd2aIU4044YhERcHCIiAMxrQGQ2yHBIfUjbs7B81p1mNbh0VLQ1rRvT1APz+SvprjRU9KKqWpjZCRkPLtj5d6o84oywaVapfu+x6rKyCgpJKqpfwRxjJPyCztgp5rzdZb\/AFrCIx1aRjsbNyd\/T4kqL+p1lVgkPgtEDs77Old+\/YtZHGyKNscbQ1jAGtaBsAOQQ+BW5nI\/HmpfKtO99fA9IiKZrCIiACotQ2WStMVwoXdHXU3WYQN5ANw32\/Eq9RdTad0JUpxqRwyM9Qavo3tMN0BoatjuF0bmux55xt6rsl1PZIQC64RnIz1AXfALrq7bRV4AqqWKbHIubuPVc0enbNF+G3QH\/qbxfFPeDIW2hZJp+Nyrm1bNWudDY7dLUvG3Svbho\/fiQvlPpmtuU7KvUFWZi3lTs2aPPG3s9q0scUcLAyKNrGjk1owF7Rjt2VYP47k71Xfu0X0I4YYqeJsMMbY42jDWtGAFIiKZq0CIiACIiACIiAIaqlgrKd9PURiSJ4w5pVNDouzRSOc6KSUEghr5DhuO7GD7VfomUmtGTnSpzd5K55jjZEwRxsaxjeTWjAC9IiUoEREAEREAf\/\/Z",
    "razonSocial": "SERVIU II REGION",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "ALEX VEGA ARAYA",
    "correoContacto": "avegaa@minvu.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56552415166",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I1045\",\"id_control\":\"28970\",\"cantidad_usada\":5,\"cantidad_asignada\":5}]",
    "horaSalida": "15:58",
    "ubicacionGPS": "LatLng(lat: -23.646619, lng: -70.3992021)",
    "horaLlegada": "15:49",
    "horaDespacho": "14:58",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 15:57:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61814000

[09/06/2026 15:57:55] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61814000', 'KY3148', 1, 19969062, 0, NOW(), 
				'14:58', '15:49', '15:58', 10, 'Entrega de insumos
Firmado por alex vega', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781035075.png', 'Entrega de insumos
firmado por alex vega', null, 'COMPLETADO','LatLng(lat: -23.646619, lng: -70.3992021)' )
				
[09/06/2026 15:57:55] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200657
[09/06/2026 15:57:55] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200657', 'KYO-I1045', 5)
				
[09/06/2026 15:57:55] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 5
				WHERE
				    IDcontrol = 28970 and
				    IDproducto = 'KYO-I1045'
				

09/06/2026 15:57:55 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 5)
                WHERE ID = 'KYO-I1045';
                
09/06/2026 15:57:55 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200657'                    
				WHERE idllamado = 12954			
				TO ENVIO: micorreo@miempresa.cl, avegaa@minvu.cl


09/06/2026 15:57:55 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12954			
				
09/06/2026 15:57:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


09/06/2026 15:57:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:57:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:57 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:57:57 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:57:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 15:57:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:57:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:57:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:57:57 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:57:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:57:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:57:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:57 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:57:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:57:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:57:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:57:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:57:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:57:57 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:57:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:57:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:57:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:58 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:57:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:57:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:57:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:57:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:57:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:57:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:57:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:57:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:57:58 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:57:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

[09/06/2026 15:57:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:57:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:57:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:57:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:57:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:57:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:57:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:57:58 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:57:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:57:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:57:58 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:57:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:57:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:57:58 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:57:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:57:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:57:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:57:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:57:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:57:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:57:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:57:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:57:59 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:57:59] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:57:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:57:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:58:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:58:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:58:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:58:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:58:53 - INPUT: {"rutTecnico":"21773342"}[09/06/2026 15:58:53] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[09/06/2026 15:58:53] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 15:58:53 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 09/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 09/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WFC5891
            [FechaLlamado] => 09/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 08/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => AM-C400
            [FechaLlamado] => 05/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [RutCliente] => 69253200
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 04/06/2026
        )

)

09/06/2026 15:58:59 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 15:58:59] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:58:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12949
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3131
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:59:04 - INPUT: {"rutTecnico":"21773342"}
09/06/2026 15:59:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12949
            GROUP BY l.idllamado;
            

[09/06/2026 15:59:04] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:59:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12949
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3131
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:59:04 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 15:59:04] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:59:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12949
            GROUP BY l.idllamado;
            

09/06/2026 15:59:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12949
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3131
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:59:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 15:59:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12949
            GROUP BY l.idllamado;
            

09/06/2026 15:59:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12949
            GROUP BY l.idllamado;
            

09/06/2026 15:59:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 15:59:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 15:59:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 15:59:04 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 15:59:04] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:59:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12949
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3131
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:59:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12949
            GROUP BY l.idllamado;
            

09/06/2026 15:59:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 15:59:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 15:59:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 15:59:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:03:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12949
            GROUP BY l.idllamado;
            

09/06/2026 16:03:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12949
            GROUP BY l.idllamado;
            

09/06/2026 16:03:59 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 16:03:59] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:03:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12949
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3131
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:03:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12949
            GROUP BY l.idllamado;
            

09/06/2026 16:03:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12949
            GROUP BY l.idllamado;
            

09/06/2026 16:03:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:03:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12949
            GROUP BY l.idllamado;
            

09/06/2026 16:03:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:03:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:03:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:03:59 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 16:03:59] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:03:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12949
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3131
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:03:59 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 16:03:59] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:03:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12949
            GROUP BY l.idllamado;
            

09/06/2026 16:03:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12949
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3131
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:03:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:03:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:03:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:04:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:04:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:04:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:04:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12949
            GROUP BY l.idllamado;
            

09/06/2026 16:04:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:04:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:04:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12949
            GROUP BY l.idllamado;
            

09/06/2026 16:04:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:04:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:04:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:04:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:04:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:04:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12949
            GROUP BY l.idllamado;
            

09/06/2026 16:04:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:04:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:04:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:04:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:04:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12949
            GROUP BY l.idllamado;
            

09/06/2026 16:04:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:04:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:04:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:04:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:04:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12949
            GROUP BY l.idllamado;
            

09/06/2026 16:04:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:04:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:04:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12949
            GROUP BY l.idllamado;
            

09/06/2026 16:04:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:04:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:04:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:06:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12949
            GROUP BY l.idllamado;
            

09/06/2026 16:06:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:06:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:06:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12949
            GROUP BY l.idllamado;
            

09/06/2026 16:06:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:06:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:06:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:06:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:07:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:07:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12949
            GROUP BY l.idllamado;
            

09/06/2026 16:07:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:07:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:07:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:07:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:07:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12949
            GROUP BY l.idllamado;
            

09/06/2026 16:07:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12949
            GROUP BY l.idllamado;
            

09/06/2026 16:07:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12949
            GROUP BY l.idllamado;
            

09/06/2026 16:07:12 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 16:07:12] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:07:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12949
            GROUP BY l.idllamado;
            

09/06/2026 16:07:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:07:12 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 16:07:12] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:07:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12949
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3131
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:07:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12949
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3131
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:07:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12949
            GROUP BY l.idllamado;
            

09/06/2026 16:07:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:07:12 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 16:07:12] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:07:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12949
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3131
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:07:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:07:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:07:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12949
            GROUP BY l.idllamado;
            

09/06/2026 16:07:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:07:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:07:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:07:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:07:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:07:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:07:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:07:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12949
            GROUP BY l.idllamado;
            

09/06/2026 16:07:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:07:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                
=========================================
FECHA: 09/06/2026 16:07:23
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-A1uwTAG6yeU7_4hfjDzKh4Xmw3-PXt8FA5RBgHpr2HtoNG3DWi3
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69020400",
    "serieinterna": "EP3131",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "2042",
    "contadorColor": "6268",
    "contadorScanner": "0",
    "detalle": "Mantenimiento, ajustes\ny limpieza",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12949",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADFAQADASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABHEAABAwMCAgcFBQUECQUBAAABAAIDBAURBiESMRNBUWFxgZEUIqGxwSMyQtHwFSQzUuEHFkOiJTREU2JyksLxJjU2grLS\/8QAGQEAAwEBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMREAAgECAwYFBAICAwAAAAAAAAECAxEhMUEEEhNRYXEiMoHB0ZGhseEj8CQzQnLx\/9oADAMBAAIRAxEAPwD9mREQAREQAREQAREQAREQARF4lljhidLK8MYwZc5xwAEAfXPYwAvcGgkAZOMk8gvSyH2+s6\/8cNpp3eBld+vTPetc0BrQ0bADATSjukaVXiXaWGj5n1ERKWCIiACIiACIiACIiACIiAOVU90dLM9hw5rHEHsOFV6UraivsjJ6qQyScbgXHmd1Ku9fSUNBL7TOyIvY4NBO7jjqHMrKae1C+3WllNFbaiqcHOcXRg4GT4FVjFuLMdWtGFZXeFn7G6RZg6wqYh0lRYauKH\/eHP1aB8VYW7U9rucrYYZiyV3KORvCT3diVwktCsdppSdk8fp+S3RESFwiIgAiIgAiIgAiIgAiIgD4SAMk4AWTraqfVta620Diy3xOBnn\/AJ+wD6eqk6nuNRLJHY7bl1XUfxCPws32J6vy8VcWu2QWmhZSU490bucebndZKovCr6mSd603TXlWfXp8nakpIaGkjpadnBFGMNC7IimakklZBERB0IiIAIiIAIiIAIi8SyxwxOlleGMYMuc44ACAPTnBrS5xAAGST1LM1+o6muqTb9Px9PJj36j8LPDq8\/mo0lTWawrX0tKXwWqM4kk5GTr\/APA6uZ6lpqC3UlspxBSQiNvWetx7SetUsoZ5mPfnXwg7R56vt8mdn0tBTW+ruFxqJK2rbC95LnYaHcJIx27\/APhWGjo+j01TnreXuP8A1EfRdtUSdFputd2sDfUgfVddPxGGwUTCMHoWuxjt3+q65Nwx5nIUoQ2i0Vp7liqq7aet93jxLEIpc5EsYAd59oVqimm1ijXOEZq0ldGYtd0q7TcRZrzIX8QAp6g8n9gz+fWtOqrUNpZdrY9nCeniBfA4cw7s8+S8aYubrpZo5JTmWMmN5znJHI+mE8rNbyM9NunPhSd1p8ehcIiKZqCIiACIiACIiACrr3d4rNbnVL8OkPuxxk\/ed+t1PkkZFG6SR3CxgLnHsAWUtsb9TX111qG\/uNIeGnY5uz+e\/wAifIdSeKTxeRnrVGrQh5n\/AG5O0xZ5KWF9wrvfrqr3i5xyWtONvFX6Ilk23dlKdNU4qKCIi4UCIiACIiACIiACIiAPjnBrS5xAAGST1LH1MtVq+5Po6Z5itdO77SVv+If1yHn2KRf66e8V393rdzzmplzs0DmNvLPfstBQUMNtoo6WnbhkYxnG7j1k95VF4FfUxy\/nk4LyrPr0+T3SUkFDTMpqaMRxMGAAuyIpmtJJWRmdbSOfR0lBH9+qnAHWdu7xIWjhibDCyJn3WNDR4BZmpxc9eQRN3joI+J5G\/vc\/mW+i1KpLBJGaj4qk5+n0\/YREUzUFl7M1tt1fcbfEMRTMEoA\/Cdj\/ANx9AtQsxWfYf2gUL+qanLTjwd+QVIaozbRg4S5NffA06IimaQiIgAiIgAiKBeroyz22SreA5w92NpOOJx5D6+S6ld2QspKMXJ5Ip9TVktfVRafoXfazEe0OAP2bdiM49T5dq0FFRw0FHFSwN4Y4xgD5n1VNpa0yU1O65VpL62rHEXOO4YcEA9\/X6di0CaTt4UQoRbbqyzf2QRESGkIiIAIiIAIiIAIiIAKk1Pd3W2gENO\/98qSGRAEZGfxfTzVy97Y2Oe84a0Ek9gWXsrH36\/zXqXPs0BLKVjgcdmfTJ8T3J4LV6GevJ2UI5v8AGrLWwWVloogHe9VSgOnkJyS7s8ArVESttu7LQhGEVGOQUeuq2UFDNVyAlsTC4gdfcpCy2rKiSuqqWwUrvtKhwdKexvVn0J8guxV3YnWqcODaz07nbRtG4UU1zmH29bIXEkdWT8zk+i0a5wxMp4I4YxhkbQ1o7gMLoiTu7naVPhwUQiIlKhZi+f8AzCzefzWnWYvYJ1hZsDPNPTzM20+Rd1+TToiJDSEREAEREAFk2Z1RqXpWv4rbbyMDJAkfvuPP4Adqnaquc1LSMoaNpfV1pLGtbzDcbkd+\/wA+xWFntkVot0dLGBkDMjh+J+NyqLwxuZZ\/y1NzRYv2XuTkRFM1BERABERABERABERABEXGpqoKOndPUytiiZzc5BxtJXZQ6tq5JRT2WmP29a4ceDyZn6n5FXlBRRW+hhpIfuRN4c9p6z5nJWHo6a76kvM9yppH0kLyWdMfws5cI7Tjs6+sLaWu2xWqjFNFJJIOIuLpCCSTzVZpRSjcxbPJ1KkqlsNH0Ji8SyxwxOlleGMYMuc44AC9OcGtLnEAAZJPUshVzVGr7n7FSPfHa4D9rKP8Q\/rkPNJGNzRVq8NWSu3ki6p9SUFTHWTMLxDRgF8jm4ySTsB5D1CgaWpJaqoqb7WMInqXERg\/hb3ZHcB4BQJIGXy4R2W3R9FbKB\/7w4OwHnPx5HB8StjFEyGJkUbQ1jGhrWjqA5BPK0VZakKW9VkpSyj93+sj2iKku+qKS3SezQNNXVk46GPqPefpzU0m3ZGqdSNNXk7F2iy7IdV3VhlkqYraw4LY2t97z5n1Pkutqr7jR3w2W5TMqOKPjjmzhx68Y8j6JtzqRW0XavFpPU0azFb+8\/2gUMYOW08Bc4HqPvfm1adZih\/eNf18nNsEAaO44b\/VENX0DaMdxc2vk06IiQ0hERABcqmojpKaWpmdwxxNLnHuC6rLasqJK6qpbBSu+0qHB0p7G9WfQnyCaMbuxKtU4cHLXTufdOUz7pc59RVIID3OZTMI+60bZ9Mj1WoXKmp46SmipoW8McTQ1o7guqJO7CjT4cLa69wiIlKhERABERABERABERAHKoqIqSnfUTvDI4xlzivzi7XCu1JcYGMaWxSv4aaI9mccR\/PuPYtBdJHaiv7bTE7FHRnjqXB2A4jGR5cvXsXzTMEVwvVXdGRhtNTnoaVo5NGMZHfjH\/UrwtBXeZ5ddyrzVOL8N\/rbP6fk0tBRx2+hhpIt2xMDcnr7T5lSEVZf7syz2uSfI6Vw4Ym9ru3wHNRScmejJxpwu8kVOo62a6V8enre8B0nvVEgOzQM+6fn6BcKqsdIP7uaaiGGgiacHZo69\/mfRVNk\/aVwimprfGWSVLiaqsd+Eb7A9XzOVuLTaaWz0ggpm7nd7z9557T+SvK0MDzqW\/tDcsk9enJe7FotUFooW08LRnm9+N3FSKurp6GndUVUrYom83O\/W6hXu+U9lpw6T7Sd+0UTebj9AqejsFbep23DUEjgM5ZSN2DR39nz7SppX8UjVKpufxUld\/Zdzw+vu+qHuhtrXUVBkh1Q7YvHZ\/QeZV5aLFQ2aLFPHxSke9K\/dx\/IdysI42RRtjjY1jGjDWtGAB3BelxzvgshqdBJ783eX9yCy9D+\/wCu62paPs6SLo+Ln73L\/wDr0V3eLgy2WuerccFjcMHa47Aeqr9IUBpLK2Z5Lpas9K4nPI8vhv5rscIti1fHVjDli\/YvCQBknACzGjs1c9zujtzUT8LT2Dnj\/MPRXF+qfY7FWTA4IiLWnsJ2HxKrdG1FILRHRxTtfUNaZZGjq4if6IS8DZyo09ohF6Jv2+TRIiKZrCIiAOVTUR0lNLUzO4Y4mlzj3BZ7StJJV1FRf6tpE1S4iMH8LO7buAB7Amp5pLjWU1gpieKZwknI\/Cwbj8\/ILRU8EdNTxwRNDWRtDWgDCp5Y9zL\/ALa3SP5\/R0REUzUEREAEREAF5ke2KN0jvusBJ8AvSyWuLw+nhjt9PIWvk96VzH4Ib\/Lt2\/RNGO87Ea1VUoObPelNTSXCQ0VdI6SpcS9j+AAYAHu7eZytUvzTSkZj1Jb3k7SCQj\/pcMfD4r9LT1YpSwM+w1JVKXi0YVVqO5m1Waadn8R32ce+MOPX5DJ8lLqrnQ0QJqauGLAzhzxn05lYu+X6nuV+pBE19VSUxyGRggyP+B7B6rkINsfaa8YQaTxeBNmiOnNIOBJFfX4Dzk8XE7q8hnzV9Z6WKy2SCGeRkfC3MjnHA4judz6LJVVVc9V3mKCCBtK+kBeGSu+7uNzkf8u2Fav0tDn2zUF3fMcjPE8RsB7Mnq8MKklhaTM1KT3m6cbpKybwXUkV+sIGy+y2qB9fUHYcAPD+Z8vVU9up63V9zfJdXltPSHHRsHCASfuj03O55K9u8lJp7T8slvhjhdIOCN0YGST1569t\/JSNNW42yyQwv\/iP+0k7ieryGB5JbqMbpDuE6lVQqO6zaWXTuWUFPDSwthgjbHG0YDWjACq79f47QxsUbRNWSj7KHfffGTj9FdL5e4bPTZx0lTJtDENy49p7lCsNimZUG73Zxkr5d2tP+EPzx6JUl5pF6k23wqWevRfPIWSwzCoN1vB6auecta7cRfTPyWhREkpNu7LU6cacbIIirr5do7PbX1LsGQ7Rszgud\/TmhK7shpSUIuTyRS3viv8AqKCzxk+zUpElS4cs9mfDYd5PYtT7kbOpjGjwACpNNW8W+3OrqxwFRVfazPeR7oO\/P4+aq7lX1uqKp1stOW0bDiaoOwd\/Tu61RredlkjFGfDi5yXilkvwiNqbULbu9tpt7ekY6UNMn+8dnYDuytBp7TkNkhL3ES1Txh8mNgOwd3zVHR2emp9ZU1DTAltFF0krzu57ueT2featsuzdkoxyObNTc5yq1M07dgiIonoBcKyqjoqOWqlPuRNLiu6yupJpLtd6XT9O7DSQ+ocB90c\/LA38wmjG7I1qnDhdZ6dztpKkklFReqkfb1rjwZHJmfqfkFpF4iiZDEyKNoaxjQ1rR1AcgvaJO7udpU+HBRCKurL\/AGqhz09dEHD8LTxO9Aql2sX1RLbTaqmrI5uIwG+mfohQk9BZ7RSg7N4\/U06LL\/8ArCvH+y0DSfE\/93Z8V9GkaqoH+kL5VTZ5taTj4k\/JNupZsXjzl5IP1wL6e40VKcVFZBEex8gBVbUavslOSPajK4dUbCfjyXODRVlhxxxSzY\/3kh+mFYwWS102Oit9OCOsxgn1KPAjn+RLkvq\/go5NdU7g40luqZw0EknDQAOvbKyt1q6uukluVRTcMdYeGJxOQ1rTyb28hk+PatZqipkqaim0\/RYbJUkGUt\/C3y8CT3BQb3RMqb9QWiBh6CkpieEnsBPxwPVWhurGx5+0KpO8XK9rLLV\/CKG2x17qy3imlZE95c2B534dznO3etb\/AHVr6ve432okB5xx5A+Jxz7upZ7T7mzXWzwt3dG6Rzhy23P0X6QuVZNPAfYqMKkG5Y+vRGbfpSxWyjlqZ4XzNiYXEyyHqHdj5da8aLpWUtnmuEjQw1Dy7YbBjfjzyuutKqSO1R0cIJkrJQwAHGRzx64Xq+uZZdIOpmHcxCnby3JGCfTJSXbjZvMu406dVyirKK+7\/Rw0cw1T7hd3h3FUzkNznZvP648lR6nuTr1e46CndmKKTombfeeTgnv7ldTVY07pGlghAFXUR4Y0c+JwyT15Iz8lVaftLIdTiOTA9gi45ncW3Hj6Z\/y+rxtdz+hmqXcIUFra\/rj+yzu0YuGqbZamnMNKwSSb478HyA5fzdS0NyuENroJauc+6wbAc3HqAVDpX\/SF0ud5d\/iSdFGf+Hn193CuUwOqNS9Bzt9vPvHG0js7jzx6A9qRrGzyRphNqDnHOTw\/C+Ttp+3z3KuOobkAXyD93i6mN6j6cvHK06+NaGtDWgAAYAHUvqnKW8zXSpqnG316sIi8veyNhfI4Ma0ZLnHACUqfXODWlziAAMknqWGnulNdLu66V8hbbqJ2KeIYLpHjBwB155nyClX2\/PvD\/wBjWQGcy5EsgGAR2A9naVQUennVl5bb4ZxKIxmomZ91naAevs8fDK0U4JK8jydqruclGmrq\/o3+i0bLc9a1hjB9mt8TsuAP64nfALZ0lJTW2jbBAwRwxj\/ySUoqKnt9KympowyNg2Hb3nvVXq6tNLYpI2by1JELGjOTnny7vmkb3morI1QhwIOpN3lq\/YiaSYaysuV4cDiolLY8jk3Ofy9Fp1BstALZaKel4QHtZmTHW47n4qckm7yLUIOFNJ569wiIlLEevrYrfQzVc33Im8WO09Q8zgKi0fRSvjqLzV71Fa48J7G5+p+AC5asqBV1lNZxKI4nfbVMmR7jB27dx+Hao4lrdUOFFb2GjtEPuGTG7wNsenV69Sso+HuefUqp1udslzf6LS6asoqGT2elaa2pOwZEcgHsJ+gUMUGo78wmuqhbqdw\/gxt94+O+fU+Su7bZaC1MxSQBrsYMjt3HzU9LvJeVFuDOp\/teHJf27Kah0paKFrSKYTyDm+b3s+XL4K3YxkbAyNoY1owGtGAFxra2nt9K+pqZAyNg3Pb3DvUCxXWruzZqiajNPTkjoHE7vG+fp3JXvSV2PHhU5KEVZst0REpcKPX1sVvoZqub7kTeLHaeoeZwFIWVvUr77f4bFF\/q0JElU4d3VnwIHie5NFXZGtU3I4ZvBdzrpekfUyT6grBiaqcejB5MZ+hjwHeoul83W+3S6OHuPHRsOTyJ259zQtLU0pNrlpKXhiJgMcXUG+7geirbHQDTljlNXwBzC+WVzN8gcvgPin3rpsz8FxlBPJXbfUzGhacy3x834YYic95wPzX6GsnoCFgt1VPtxul4DtuAAD9StYiq7zO7BDdoLriZi4\/vuubfTc2UsZlOe3c\/Rq+ajcLhfbdaecTSZ599gO\/s2B59q+2LFTqy9VjiMxEQ5PZnH\/YFmnVVVfNQ1LaQb1p6Pj4SSyLI37tgM\/1VIrHsjLUqWg9d6X2X\/hf24jUV\/lvMu1FQ+7AHDGSN8+XP0XGySFlgvd3cMSVDpC0kdxx8XK+nporPpmohpwAIaZ+Dj7zuHmfErPD92\/s1y33XTHfftk\/ILid8uiHlF03eWdpN98iVQVDrT\/Z\/7Qx3BK9ri0\/8TnEAjy38laaXtwt1jga5oEso6SQ4Gd+Q8guNTZ3V2kYKCMhsjYWOaM4BcB+aiR3XUlLG2n\/Ygk6IBnGHbOxtlK\/EnbmUj\/FKLknZRSWF+5qV8JAGScALM+1axqdm0NLSg\/icQSP8x+S8\/wB2rtc5Ab1dSY8fwqfYfID4FLuLVl+PJ+SDffAnXHVdsofcjk9rmOzY4Dxb955fVZi\/zXippmvub+hEzgIKJh9495Hd375PUtHUQWbSlvNSymYZhtGXDL3ux29XfhcdPWmeoqDfLsOKqm3iYeUbeo46u4dQ708XGK3kZasatWXDk8eSyS68+iKt1LJp+gjtVNwvutz917wf4bTtjw57+J6gtTZbTFZ7cymZhz+ckmN3u\/XJU2nI\/wBq3uvvUwD+CToqc5+6MY2\/+uPUrUpaknkW2WnHzrLJdv2Fla4ftnWtPSDhdBb29JJ177HHrwjHj4LQ3Csjt9BNVyn3YmE+J6h5nAVNo+jeyhluM4+3rZC8nOfd\/qc\/DsXI4JyHreOcafq+y\/ZokRFM1BcqmojpKaWpmdwxxNLnHuC6rNaunfUupLJA8CSseC\/P4Wg7H1z6Joq7sSrVOHBy19zL0FPJqfUhdUuLRMTI\/HU0dQ+AX6TDDHTwshhYGRsGGtaNgFlauH+619iuEcGaCSEQSObklgAaN+\/YHv3WopqymrYhJTTslYetjsqlV3s1kZNjgqblGXmvidkRUmrLi+gsz2Q56apPRMxz3548vmpJXdjbUmoQcnoVT+PWF4dHnhtdE\/ctP8U\/1+A8VrmtaxgYxoa1owABgAKDZLYy02uKmaAHY4pD\/M48zz8vJWCabvgsiVCm4rel5nn8egRFwrKyCgpJKqpfwRxjJP0CQu2krsg6hu37ItjpmYM8h4IW4zl3bjuXLTNm\/ZVv6SYcVXUe\/K4j3m5\/Dnu+arrXSzajuovVdEG0kY4aaF2+cHmfP4+C1apLwrdMtNcWfFeWnz6hZvVFW+rkhsFI77eqcDKf5GZ\/pnwB7VIveo46B3sdG32mveeFsTRnhPafyX2wWI0HHW1rumr5yS97ty0dgRFbviYVJcV8KHq+XTuQNHsFFW3W2lxzDKCxrjuRuM\/L4LVLK3R\/7B1U27OikNHUxcEz27gO\/TW\/FfZdXy1v2Nkt09RKeb5G+630PzITSi5O6J0qsKMXTlmm\/wBFNFdoqGlv2JP3iqnLIxn3iCXZPkCfNaHSdhFro\/aZ2Yq5xvv9xvUPqVj7dbJqvU7KKpYOMTEzgbjAOXfl5r9RTVXbBakdig6j35Ly4L8sqdUPDNN1pPWwD1ICoLs0w\/2fULMAcRYfXJVxrOTg01O3+dzG\/wCYH6Kt1RG6PRdBGNuAxA57mFchku4+0+af\/X3NVTNDKWJo5BgHwXVeWcPA3g+7gY8F6UD0VkFDudzprTRuqal+GjZrRzeewJc7nTWmjdU1L8NGzWjm89gWctttqtS1rbvd28NK3\/V6fqI\/L5+CeMdXkQq1WnuQxk\/t1Z1s9unvld+27q3Mf+ywHdoHMH9czv2LVL4AAMAYAX1clK7HpUlTVtdXzM3U6crqSpmqrHXilMhz0BaBGO3bBHhtsuRveorZ\/wC5WkTxg7yQHqPhn6LUqPXVkVBRS1Uzg1kTcnPwHqmU74NXJSoKN5Qk4\/j6Mx95vtJqN1Db6eV8EUswMxkw3hHV48z19i2sUTIYmRRtDWMaGtaOoDkFkbNYIr6you11iJNW8uia1xbwjPP8lrYYWU8EcMYIZG0Nbk52AwF2pZYITZVUbdSev47fc6IiKRtPL3tjY57zhrQST2BZfTTJLreKy\/TZDCTFA3u\/oMDxJUnWFwfBQMt9Nl1TXO6MNHPh6\/XIHmVb22iZbrdBSM5RNxntPM\/FUXhjfmZZfyVlHSOProd5Yo5o3RyxtkY4Yc1wyD5LP1WkIm1BqrVVSUM+c+6SW\/PO\/mtGiVSayLVKUKnmRlhX6otEYbV0LLjG3\/EiJ4seQ+iq7xqKmuVwtTnxTU7KafinZK3bHE3fA57A9S3qo9VWh90tmadgdUQO42DA94dYVITjvYoyV6FRU2oybXJ45dSTDqKzTgFlxgGf53cHzwpba6jcMtq4CO0SBZGkqdK1cTIrjQso6loxI0tcwZ69x9fBcaqHRkMTpInzTOA2jjc75kbI4avbE4tqnu3vH62NnJcaGGMvkrIGtAySZAsZXXml1DcQ2sq\/ZLXAchu\/HKfAfoeK8WnSctyqRU1FOaKiJy2MvJe4frr27lqodM2WA+5b4j\/z5f8A\/rK74IPqK+PtCySj1vj+ivOsrVCxsFDBNOWgNjjjZwjsAGd+zqXBx1TfAGdGLXTO5u5PI+fyWnhpoKZvDBBHE0dTGho+C6pN5LJGjgzlhOWHJYFXadP0NobxQsMkxzxTSYLjnn4BWiIkbbxZohCMFaKsjy5rXtLXtDmnmCMgp7kbCdmNaMnqAXpR6+CSqoJ6eKXonyxlrX9mQuHXgroxdiurDq2WsmjDIq5z44pDyByCNz5DzW8Wcq9KtfpuK3wvHtFOS+OTGOJx3I8\/oEtep+B\/sN7Z7FVRgDifs1\/fnq+StNKWMTDQboeCrrjfrqi\/mhiqI+jmiZKwnPC9oI9CqbWUPS6bnOATG5rh3bgfVWzK2kkiMrKmF0YGS9sgIHmqm9XqzPt1RSyVsbzIwgNi+0OfAbeqSF95F67g6ck2sUWVqm9otNJNkkvhYST24Ch3rUVLZwIsGeqePchZz7s9izFlrr\/c7ey225zIY6ccL6gncAk4GfDbYdS0tm03T2pzp5Hmqq37umkG48OxM4qL8RGnWqVYJU1bq\/bmV9DYKy7VLLjqB\/FjeOlGzW+I6vD17FqAABgDAC+oklJyNNOlGmsM+fMIiJSoWUvsj79eYrBTvLYoj0lS8Dlgf1x4kditNQ3kWih+yIdVy+7DHjOT1nHcvGmbObXQdLP71XUe\/K5w94Z\/Dnu+apHwreMlV8WXCWWvbl6lvFEyGJkUbQ1jGhrWjqA5Be0RTNYREQBQxWipqNVy3OsY0QwMDKYcWeLbnjqxk+ZV8iLrbYkKahe2uIREXBwiIgCLVWygriDVUkMpH4nMGeWOa809pt1LJ0kFDBG\/+ZsYz6qYi7dibkb3tiERFwcIiIAIiIAIiIAKJXWuhuTOGspmS4GATsQPEbqWiE7HHFSVmjPP0RZnScQbOwZ+6JNvjuptNpuz0hDoqCMuA5vy\/wCeVaImc5PUlHZ6UXdRRk6nGmdT+2kEUFwyJCBsx3PPrv4ErVtcHNDmkEEZBHWo1xoIbnQy0k492QbHG7T1ELOUV0rdMvjt95jzRjLYapgzt34+XMd6bzrqRT4Emn5X9n8GtRcaerp6tgfTzxytIz7jgdl2UzWmnigoV0utLaKQ1FS7bk1g+889gUG66oore7oIc1dUdmxRb4Pef0VDt9kq7rXNu19AyP4NJjZnZkfT17E6jrLIzzrXe5Sxf2Xc+WOiqLvcP29cmuaWnFNC4bNHUf1179i1CIuSldlKVNU42zer5hERKVCIiACIiACIiACIiACIiACIiACIiACIiACIiACIiACIiAC5z08NVEYaiJksbubXtyCiIBq+DKKfRVqkkMkDp6Z+cgxP2HquJ0NSyfxrhVyZ5+8N\/UFET8SXMzPZaL\/4ltbbFb7UXOpoB0jiT0jt3eAPUPBWKIlbbzLxjGKtFWCIi4MEREAEREAf\/9k=",
    "razonSocial": "ILUSTRE MUNICIPALIDAD DE MEJILLONES",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "LUIS OSORIO BERRIOS",
    "correoContacto": "losorio@mejillones.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANTENCIÓN PREVENTIVA.",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56552557314",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "16:07",
    "ubicacionGPS": "LatLng(lat: -23.1006637, lng: -70.4523505)",
    "horaLlegada": "15:55",
    "horaDespacho": "15:43",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 16:07:23 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:69020400

[09/06/2026 16:07:23] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('69020400', 'EP3131', 1, 21773342, 2042, NOW(), 
				'15:43', '15:55', '16:07', 3, 'Mantenimiento, ajustes
y limpieza', -1, 
				'', '','1','6268',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781035643.png', '', null, 'COMPLETADO','LatLng(lat: -23.1006637, lng: -70.4523505)' )
				
[09/06/2026 16:07:23] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200658

09/06/2026 16:07:23 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200658'                    
				WHERE idllamado = 12949			
				TO ENVIO: micorreo@miempresa.cl, losorio@mejillones.cl


09/06/2026 16:07:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:07:23 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12949			
				
09/06/2026 16:07:23 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


09/06/2026 16:07:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:07:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12949
            GROUP BY l.idllamado;
            

09/06/2026 16:07:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:07:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:07:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:07:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:07:26 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 16:07:26] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:07:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:07:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:07:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:07:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12949
            GROUP BY l.idllamado;
            

09/06/2026 16:07:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12949
            GROUP BY l.idllamado;
            

09/06/2026 16:07:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12949
            GROUP BY l.idllamado;
            

09/06/2026 16:07:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12949
            GROUP BY l.idllamado;
            

09/06/2026 16:07:26 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 16:07:26] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:07:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12949
            GROUP BY l.idllamado;
            

09/06/2026 16:07:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:07:26 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 16:07:26] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:07:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:07:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:07:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:07:26 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 16:07:26] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:07:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:07:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:07:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12949
            GROUP BY l.idllamado;
            

09/06/2026 16:07:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:07:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:07:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:07:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:07:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:07:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:07:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                
[09/06/2026 16:07:40] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 16:07:40 - INPUT: {"rutTecnico":"21773342"}[09/06/2026 16:07:40] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 16:07:40 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 09/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 09/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 09/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WFC5891
            [FechaLlamado] => 09/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 08/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => AM-C400
            [FechaLlamado] => 05/06/2026
        )

)
[09/06/2026 16:12:45] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '20988335'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 16:12:45 - INPUT: {"rutTecnico":"20988335"}[09/06/2026 16:12:45] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 20988335 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '20988335'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 16:12:45 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [RutCliente] => 73836100
            [ModeloMaquina] => ESTUDIO 6528A
            [FechaLlamado] => 02/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [RutCliente] => 73836100
            [ModeloMaquina] => AM-C400
            [FechaLlamado] => 02/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TUTORIAS PREU GAUSS LA SERENA SPA 
            [ciudad] => LA SERENA
            [RutCliente] => 76669222
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 01/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => VENTA
            [FechaLlamado] => 28/05/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => CONGREGACION SALESIANA
            [ciudad] => LA SERENA
            [RutCliente] => 80230500
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 28/05/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [RutCliente] => 73836100
            [ModeloMaquina] => ESTUDIO 6528A
            [FechaLlamado] => 27/05/2026
        )

)

09/06/2026 16:13:05 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 16:13:05] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:13:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12958
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2448
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12957
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MFC-L6700DW
            [SerieInternaMaquina] => BR1815
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:13:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12957
            GROUP BY l.idllamado;
            

09/06/2026 16:13:07 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 16:13:07] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:13:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12958
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2448
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12957
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MFC-L6700DW
            [SerieInternaMaquina] => BR1815
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:13:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12957
            GROUP BY l.idllamado;
            

09/06/2026 16:13:09 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 16:13:09] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:13:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12958
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2448
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12957
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MFC-L6700DW
            [SerieInternaMaquina] => BR1815
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:13:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12957
            GROUP BY l.idllamado;
            

09/06/2026 16:13:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:13:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:13:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:13:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:13:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12957
            GROUP BY l.idllamado;
            

09/06/2026 16:13:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12957
            GROUP BY l.idllamado;
            

09/06/2026 16:13:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:13:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:13:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:13:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12957
            GROUP BY l.idllamado;
            

09/06/2026 16:13:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:13:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:13:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:13:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12957
            GROUP BY l.idllamado;
            

09/06/2026 16:13:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:13:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:13:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:13:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:13:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12957
            GROUP BY l.idllamado;
            

09/06/2026 16:13:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:13:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:13:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:13:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12957
            GROUP BY l.idllamado;
            

09/06/2026 16:13:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:13:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:13:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:13:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:13:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12957
            GROUP BY l.idllamado;
            

09/06/2026 16:13:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:13:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:13:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12957
            GROUP BY l.idllamado;
            

09/06/2026 16:13:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:13:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12957
            GROUP BY l.idllamado;
            

09/06/2026 16:13:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:13:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:13:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:13:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:19:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:19:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12957
            GROUP BY l.idllamado;
            

09/06/2026 16:19:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                
=========================================
FECHA: 09/06/2026 16:19:28
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-Bdj+vFh_y+cz1YV.reNhR9Nkp1dTBf9QttAaY6CcNHIctbKWrmQ
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "91770000",
    "serieinterna": "BR1815",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "20988335",
    "contador": "125668",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se realiza mantenimiento preventivo y se combate unidad de imagen\n01 runi2042",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12957",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADOAPIDASIAAhEBAxEB\/8QAGwABAQEAAwEBAAAAAAAAAAAAAAYFAgMEAQf\/xABHEAABAwMBBAYHBQUFBwUAAAABAAIDBAURBhIhMUETUWGBkaEUFSJxscHRFiMyVJMkM0JS0geCkuHwJTQ2VWJywkNzdKOy\/8QAGAEBAAMBAAAAAAAAAAAAAAAAAAIDBAH\/xAAyEQACAQIEAggGAwADAAAAAAAAAQIDERIhMVEEQRMiMmFxgZHRFEKhscHhIzNSJDTw\/9oADAMBAAIRAxEAPwD9mRF8JAGScAID6iwKvWlopJTGHSzlpwTEwEDvJC9dv1Fa7k4MgqQJCcBknsud7hzUsEkr2KVXpOWFSVzUREUS4IiIAiIgCIiAIiIAiL45wa0ucQABkk8kB9XhuF5t9rA9LqWsceDBvce4b1h1F4uV+rn0VicIqePdLVEfA\/6K91u0nb6N3TVANbUHe6SfeM9jfrkqzCl2jL006jtSWW708tzyfaqtuDtmzWiWcbx0su5oPw8wgptYVbtqSspqNud7WgE\/A\/FUwAAwBgBfVzGlojvQSl25vyyJgWnVMRzHe4n434e3ifAr4anV1v8Aamp4K+Jv4jEPaI7AMHPcqhEx7ofDpdmTXn7mRZ9SUd2Ih\/cVW\/aged+RxwefBa6ndV2oS0hulKOjrKT2w9u4lo4+HFa1prhcrXBVjGXt9rH8w3HzSSVsSO0pzUnTnrvuj2IiKBoCIiAIiIAiIgCmdQzy3K7U+n4HyMbKNud7OTd5we4eY48FSkgDJOAFLaVHrG73K9PGQ9\/RRHJ4cefYGqyGV5bGbiG5ONNc\/stSgoLdSWynEFJCI28zzcesnmvDddNUFzBkDBTVI3tniGCD2jn8e1bCKCk07lsqUJRwtZEtb7xW2e4MtN7eHNdnoapx\/EOWT9eCqVn3q1RXi3SUzw0SYzE8\/wALuX+a8Wk7hLVW11LU5FTRP6KQOO\/HLPgR3KbtJYkU03KnPo5O6ensbqIirNQREQBERAEREAUpdKubUV1NkopA2kYM1Mzd+cHgPh7\/AHLR1Rd3Wu3BsBPpNQ7YiA49p+XeF3aftDLNbGQcZX+3Kf8Aqxw9wVkeqsRlqt1Z9EtOft5nsoqKnt9KympowyNg3Dr7T2r0IirNKSSsgiIh0IiIDornsjoKh8gBY2JxcDwxg5WLokOGnWZJwZXY9y9Wqqn0XTtW7O+RvRjt2jg+WV32CnNLYqKIgAiIEgDGCd5+Kn8hmefELuX3f6NBERQNIREQBERAEREB4rxMaezVko4tgfjdnfjcvFpGLotN0xOdqQuec88uPywvRqJu1p+uGcfck+G9cNMO29OURxj2MeBIU\/k8zM\/+wvD8mqiIoGkKXoMUOvK2DJDKuLpGjHF24\/1KoUxecQ60tEwGC9pjyfef6j4qcOaM3EZKMtmvYp0RFA0hERAEREARF4L5W+rrNU1IOHNZhm\/+I7h5ldSu7EZSUYuT5GHSxm\/awmq3+1S232I9+QXjh55PcFVrF0nbxQWKEluJZx0rz7+HljzW0pTedlyKeHi1DE9XmwiIoGgIiIAiIgJjV5NXU2y1NJ\/aJw54HVwz5nwVM1oa0NaAABgAclL2fau2ra25uJMVIOhhyO7d5n+93KpVk8komWh1nKpu\/ogixNXVk1FYnvgLmue8MLmkbgc9h93LjxWTLbrnYI23K1VklZTEB80UhyXDiT7t5O7f71xQur3O1K+CTSje2pYovFarrTXejbUU7ux7DxYeor2qLVsmXxkpK60CIi4SCIiA8d2i6ez1kXN0DwPfgrP0dL0umqYc2FzT\/iJ+a23AOaWneCMFTOh3GOhrKJ\/46eoOe8Y+LSrF2GZp5V4vdNfZlOiIqzSFMaj\/AOJrH\/7p+LVTqYv\/ALeq7KzhhxdnvH0VlPtGbiv6\/NfdFOiIqzSEREAREQBTWuHuNqgpmfjnqGtGerB+eFSqY1fvrLM0gEGp35Ha1Tp9pGbi\/wCmRSQxiGFkQOQxobn3LmiKBpCIiAIiIAszUVxFsss84fsyOGxERx2jwx7t57lpqVujW33VdNbd7qajHST7sgu44+A7ypwV3mUcRNxhaOryRp6XoPQLDTscMPlHSvyMb3f5YWuiKLd3cshBQiorkeG80PrG0VNKCQ57PZI\/mG8fBeHSNea2xRse4mWnJifnju4eWB3LcUpKRpzVnSn2aG5D2upr+vxPg4qcc04lFX+OpGpy0f4+p8utFPp25+u7czapnn9pgb1cz7vgexUlDWwXGkZVUz9qN4z2g9R7V3uaHNLXAEEYIPNSM7JNIXf0mFrnWqqdiRg39G7s93LrG5F11bmRa+HliXZevd3+BXouEUsc8LJonh8bwHNcOBC5qs2ahERAFMWrFDra5UpdhtSzpWjrPH5uVOpfUB9A1PablkNa89DI48AM439zj4KcM7ozcRkoz2a9ioREUDSFMVv3v9oNA3lHTk47cP8A8lTqYpT6T\/aDVPbvbT0+ySOGcDd5nwU4c\/AzcR8i717lOiIoGkIiIAiIgCmNXf79Zv8A5PzaqdTGufYoaKfh0dSN\/VuJ+SnT7SM3F\/0v\/wBzKdERQNIREQBERAeK73KO1W2WrfvLRhjcfidyCztKW19LQOrKkZqqw9I9zhvwd\/V3rxXTF81dT2suDqWkHSTNAzk8SM97R3lVasfVjbcyw\/lquXKOS8eYREVZqCzb7aWXi2PpidmQe1E7qcP9YWki6nZ3RGcVOLi9GYelrs64W809RkVdIejlB4nqPlv7Qtaqpoaymkpp2bcUgw4KavUbtP3uG90zHGCcllU0cN\/P5+8dqqIpWTRMljcHMe0Oa4cweBUpL5kUUZNp0p6r6omrMayw3YWSdr56SbLqaUD8PMg9XPv96qERclLE7llKn0aw3y5d3cERFEtCwtY0npNgkkaDt07hK0js3HyJW6uuohbU00sD\/wAMrCx3uIwuxdncrqwxwcdzotVX6daqaq5yRgu9\/PzyvWprRk72UtVa5s9JRTEYIxuJPzB8VSrslaTRGhPHTUgpfSP7XX3a5HeJp9lh7Mk48C1bF9qvQ7HWT7siIgZ6zuHmV5tJ0vounabOdqUGQ5HXw8sKSyg2Vz61eMdk3+DZREVZqCIiAIiIAsLWVOZ9OTEDJic148cHyJW6uitpxV0M9Mf\/AFY3M8RhSi7NMrqwx05R3RwtlS2stdLUNIPSRNJxyON48V6lPaKqHS2LoHgh1NK6PBG\/r+ZVCklaTRyjPHTjLuCIiiWhdNVUx0dLLUynDImFx7l3Kc1jVSupae1UxHTV0gZjP8OR4b8ealFXdiqtU6ODkcdGwyTU1TdajBmrJSdrHIdXZnPgqVdNJTMo6SKmjADImBowOoLuSTu7ijDo6aiERFEtCIiA6auliraWSmnbtRyt2XBZ+nbdW2u3mkq5Y5GseeiLM7m9ue1ayLt3axBwi5qfNBERcJhERAEREBLVX+yNbw1G5sNxZ0biT\/Fu+Yb4qpWDrCgNZZHysb97SnpWnmAPxeW\/uWlaK4XK109XkbUjBtY5O4EeKslnFMy0upVlDfNfn6mLraUyUlJb48dJVTgY4nA7PeQqOGJsMLImfhY0NHuCmYWm765llJJgtrdkb9233duf8PcqlJZJIUetOdTyXl+wiIqzUEREAREQBERATFt\/2VrOtoTuirm9NHnm7eT\/AOfgFTqa1cx1JJQXmJpLqSYB+ObT1nq3Ef3lQwzMqII54zlkjQ5p6wRkKyeaUjNQ6spU9ndeD\/Z2IiKs0hS7QK3+0J+0NptFANnO8A4H9SqFMacIn1LfJwdzZAz373D\/AMVOGjZmr5yhHv8AsinREUDSEREAREQBERAEREAREQBERAcXsbJG6N7Q5rgQ4HmFF2m5DTsF4oJ3jbpnF8IHFxO4cf7viVbKB1f6G7VELXyFrS1gqSBwGfpjyVtLO8WYeMbglUjqsvUodIUBpLK2Z5Lpas9K4nPA8PLf3rdXFoaGAMADQN2OGFyVcnd3NVOCpwUVyCIi4WBERAEREAREQHmuNG24W+ekecCVhbnqPI+KxtG1r5bbJQzu++opDGRz2eXnkdyolKVuzYdYRVpAbTXBpZIf5Xbsnx2T3lWRzTiZa3UnGr5Pwf7KtERVmoKZ0bl7rnMTtF9T+LPHj9VQVc3o9HPPkDo43OyeWBlYmiIej081+COllc738B8lNdhmaedeC2u\/wUKIigaQiIgCIiAIiIAiIgCIiAIi4GaISiIyMEhGQzaGSPd3FAdFxr4rZQy1c29sY3NyAXHkBlSlFp+a52Our6pu1W1w6SLPIZ2hjqzw92FuX6yzXmWjjMwFJHIXTR8C7dxB8u8rYa0NaGtAAAwAOSsUsKy1Ms6Tq1HjWS08+Zj6VuLrjZIzJ+9gPQvzzIAwfDHmtlStMH2PWckBOKW55e0ngH7z8cjvCqlyazuuZLh5Nwwy1WTCIigaAiIgCL4XBoy4gDrKz6jUFopR97cIPcx22fAZXUm9CMpxj2nY0UU1LreiLyyipKmqfy2W4B+fkuBvGqKw\/slkbA3rnO8eJb8FLo5cyj4ql8ufgrlQsrUdsF1s8sIA6Vg6SIn+YfXeFm+rtWVf7+6wUzTyibvHgPmjdFtmwbhdaupdz9rA88rqSi73ITnOpFxVN2e9kdti1JSPskbrhVRwzQ5jeHuw52BxxxO7HeudRrWzQOLWySz4z+7j3eeFhVljobJqKl9Ih6a3VHsgyOPsO4b8duD3nqVpBQUdLj0ekhix\/JGApSUFnuV0ZcRJOF0mst2TVRVXfVELqWlpDRUbyQ+aXiQOXjyA7+KpqKlZQ0UNLGcthYGAnnjmu9FW5XyRqp0sLxSd2ERFEuCIiAIiIAiIgCIiAIiIAsa66YobtP6RK6WOfZwHsd1cNx962UXU2s0QnCM1aSuTA07fKLdb788tG9rJgSB8fgvnpOsaRvt0dLVgDe5pGfIj4KoRSxvmin4aK7MmvP3IHUNdda6nifU2aamkpX7bZ25IaOfL3c+S1IdbGSFrzaKk7Q3Fm9p9xx15VRJG2WN0bxlrwWkdYKm9IvfSS19mlcS6llJZnm09Q8D3qeKLjpoZ3TqU6qtPtdy5Hw6uq346DT9XJnhxGfBpXwag1DLgRaee0kfxkj44VQihijsaOhqvWo\/REx6brCcYZbaWAcMudv8A\/wBfJfBZtT1Z\/a722AHlAN48APiqhEx7IfDJ9qTfn7WJkaJp5TtVtwq6l3a4D45XvptLWal3tomSHrly\/wAjuWuiOcnzJR4ajHNROuKGKBmxDEyNvUxoA8l2IigX6BERAeC9W1t1tc1IcbThmMnk4cF4NJXN9bbjS1BPpNGejeDxI5E+GO5byk7m31BqqC5tOxS1p6OfqB5k+R7irI5pxMtb+OaqrTR+H6KxERVmoIiIAiIgCIiAIiIAiLi97I2F8jgxrRkuccAIDki+NcHNDmkEEZBHNEB9REQBERAFK3Yi0aworjubDWN6KUnrGBns\/h8CqpY2q7f6wsUwBAfB960kdQ3+WVODzzM\/Exbp3jqs15GyizrFcBc7PT1O1tP2Q2T\/ALxuP171oqLVnYujJSipLmERFwkEREAREQBERAFnX22+tbRPSjHSEbUZPJw3j6d60UXU7O5GUVKLi9GY2l7mbjaWtlJ9Ipz0UoPHdwPh5grZUtUgaf1YyryGUdxGzJ1B\/X44Pe5VKlNZ3XMp4eTccEtY5ezCIigaAiIgCIiAIvPVV1JRN2qqojhGM+24DPuWHUa0pXTej22lmrpicANGAfn5KSi3oVTrU6faZRkgDJOAFJ3Wpk1NdRZaKUCjiw+ombvBxyH+uPuQWq\/ahO3daj0KlO\/0ePiR2j6+CordbaW10op6WPZaOJO8uPaVLKHiUPHXytaP1Z3wwsp4I4IxhkbQ1o6gBgIuxFWbNAixrvpiivVW2pqZZ2PawMAjc0DAJPMHrXh+w1GNza+sA5DaG7yU0o7lEp1U8oXXj+inRTH2GpP+YVn+IfRPsHbnb5Kuseevbb\/Slo7kekr\/AOPr+imLg0ZcQB1lcDNCRgyMIP8A1BTo0FaQcmarPYXt\/pXL7C2j+ap\/UH0S0Nxjr\/4Xr+jo03NFa7xcrS+Zgia\/pYySAMHHyLfBUbq+jYMuq4GjtkAUHV2mzx3e3MpZ+noqh\/RyFsoJDs439XEKlboqytOTDK7sMpVk1G92ZuHnWScIpZd\/nsavrO3\/AJ6m\/Vb9VxN4tbTh1ypAeozt+qzvsZY\/yz\/1XfVcho+xAYNET2mV\/wBVX1O8034jZer9j2m92loybnSd0zT80bfLS4ZFzpO+Zo+a8g0jYmnIoB3yvPzQ6RsTjk0A7pXj5p1O8X4naPq\/Y9nrq1f8zo\/12\/Vc\/Wdv\/PU36rfqs\/7IWH8h\/wDc\/wDqXD7GWP8ALP8A1XfVOp3i\/EbL1fsafrO3\/nqb9Vv1T1nb\/wA9Tfqt+qzPsZY\/yz\/1XfVPsZY\/yz\/1XfVLQ3GLiNl6v2NP1nb\/AM9Tfqt+qes7f+epv1W\/VZn2Msf5Z\/6rvqn2Msf5Z\/6rvqlobjFxGy9X7DUJt91s01O2tpTKBtxfet\/EO\/nvHeurT+pKOezx+m1kMU8XsOEjwC7HA7+O75rt+xlj\/LP\/AFXfVYV2stusd7pp5abpLbP7DmFzvu3Y45znt39qsjhawmao69OXStLZ5v105FQ7UNnaMm40\/c\/K6JNW2OLjXBx6mscfkubNMWQe02gjORzJPzXojslqi3st9PnrMYJ8Sq+p3mn\/AJD\/AM\/UyZddWiPOw2ol\/wC1gHxIXD7X1M\/+42KrnB4OOR8AVRx08EIAihjZjhstAXYl47Do671n6L3JcXDV1UfubXBTsPAyHePE\/JPUWoq7Hp976EZzswD6Y7FUIu49kPhk+3Jvz9ieptFWqE7U\/TVTjxMj8Dywtunpaekj6OmgjhZ\/LG0NHku5FFyb1ZZClTp9lWCIiiWhERAEREAREQBERAY32Wtbbg2tjjdG4PEmw0+xtZ6j3+K2URdbb1IRpxhfCrBERcJhERAEREAREQBERAF47rbYrtb5KSbdtDLXfyu5FexF1O2ZyUVJNPQnNK3OQxSWiuds1lGSwBx3uaPjj4YVGsS+aeFxkZW0cno1fFgslG4Ox1\/ValE2VtFCJ5OkkEbdp3WcbypSs+siijjh\/HLlo+470RFA0BERAEREAREQBERAf\/\/Z",
    "razonSocial": "COLEGIO INGLES CATOLICO DE LA SERENA SA",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "FRANCO MONDACA",
    "correoContacto": "aaguilar@cicls.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "REVISIÓN TÉCNICA",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56985439390",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "16:19",
    "ubicacionGPS": "LatLng(lat: -29.9172293, lng: -71.2554731)",
    "horaLlegada": "16:01",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 16:19:28 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:91770000

[09/06/2026 16:19:28] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('91770000', 'BR1815', 1, 20988335, 125668, NOW(), 
				'08:00', '16:01', '16:19', 4, 'se realiza mantenimiento preventivo y se combate unidad de imagen
01 runi2042', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781036368.png', '', null, 'COMPLETADO','LatLng(lat: -29.9172293, lng: -71.2554731)' )
				
[09/06/2026 16:19:28] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200659

09/06/2026 16:19:28 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200659'                    
				WHERE idllamado = 12957			
				TO ENVIO: micorreo@miempresa.cl, aaguilar@cicls.cl


09/06/2026 16:19:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:19:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:19:28 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12957			
				
09/06/2026 16:19:28 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


09/06/2026 16:19:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12957
            GROUP BY l.idllamado;
            

09/06/2026 16:19:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:19:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:19:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:19:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:19:30 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 16:19:30] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:19:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12958
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2448
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:19:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12957
            GROUP BY l.idllamado;
            

09/06/2026 16:19:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12957
            GROUP BY l.idllamado;
            

09/06/2026 16:19:30 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 16:19:30] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:19:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12958
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2448
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:19:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:19:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:19:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:19:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:20:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12770
            GROUP BY l.idllamado;
            

09/06/2026 16:20:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12770
            GROUP BY l.idllamado;
            

09/06/2026 16:20:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12770
            GROUP BY l.idllamado;
            

09/06/2026 16:20:23 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 16:20:23] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:20:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

09/06/2026 16:20:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12958
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2448
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:20:23 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 16:20:23] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:20:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12958
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2448
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:20:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

09/06/2026 16:20:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

09/06/2026 16:20:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

09/06/2026 16:20:30 - INPUT: {"rutTecnico":"20988335"}
09/06/2026 16:20:30 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 16:20:30] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 16:20:30] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:20:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12958
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2448
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:20:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12958
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2448
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:20:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12770
            GROUP BY l.idllamado;
            

09/06/2026 16:20:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12770
            GROUP BY l.idllamado;
            

09/06/2026 16:20:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

09/06/2026 16:20:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

09/06/2026 16:20:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

09/06/2026 16:20:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

09/06/2026 16:20:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12933
            GROUP BY l.idllamado;
            

09/06/2026 16:20:39 - INPUT: {"rutTecnico":"20988335"}
09/06/2026 16:20:39 - INPUT: {"rutTecnico":"20988335"}
09/06/2026 16:20:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12933
            GROUP BY l.idllamado;
            

[09/06/2026 16:20:39] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 16:20:39] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:20:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12958
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2448
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:20:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12958
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2448
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:20:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12933
            GROUP BY l.idllamado;
            

09/06/2026 16:20:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

09/06/2026 16:20:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

09/06/2026 16:20:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

09/06/2026 16:20:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

09/06/2026 16:20:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

09/06/2026 16:20:46 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 16:20:46] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:20:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12958
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2448
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:20:46 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 16:20:46] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:20:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12958
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2448
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:20:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12933
            GROUP BY l.idllamado;
            

09/06/2026 16:20:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12933
            GROUP BY l.idllamado;
            

09/06/2026 16:20:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

09/06/2026 16:20:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

09/06/2026 16:20:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

09/06/2026 16:20:51 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 16:20:51] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:20:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12958
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2448
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:20:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12960
            GROUP BY l.idllamado;
            

09/06/2026 16:20:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12960
            GROUP BY l.idllamado;
            

09/06/2026 16:20:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12960
            GROUP BY l.idllamado;
            

09/06/2026 16:20:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12960
                

09/06/2026 16:20:51 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 16:20:51] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:20:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12958
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2448
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:20:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12960
                

09/06/2026 16:20:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12960
                

09/06/2026 16:20:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12960
                

09/06/2026 16:20:53 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 16:20:53] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:20:53 - INPUT: {"rutTecnico":"20988335"}
09/06/2026 16:20:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12958
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2448
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[09/06/2026 16:20:53] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:20:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12958
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2448
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:20:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12960
                

09/06/2026 16:20:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12960
            GROUP BY l.idllamado;
            

09/06/2026 16:20:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12960
            GROUP BY l.idllamado;
            

09/06/2026 16:20:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12960
                

09/06/2026 16:20:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12960
                

09/06/2026 16:20:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12960
                
[09/06/2026 16:22:46] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 16:22:46 - INPUT: {"rutTecnico":"24456550"}[09/06/2026 16:22:46] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 16:22:46 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BLINKEND SEGURIDAD SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76548103
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 09/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 08/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [RutCliente] => 76063288
            [ModeloMaquina] => WF-C869R
            [FechaLlamado] => 08/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 95111827
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [FechaLlamado] => 08/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => WF-C869R
            [FechaLlamado] => 08/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76464003
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 08/06/2026
        )

)

09/06/2026 16:22:49 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 16:22:49] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:22:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12953
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE ESCÁNER SE QUEDA PEGADO Y ADEMÁS NO LLEGA AL PC
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 13458077
            [ClienteRazonSocial] => CAROLINA ANDREA LEIVA PEREZ
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2797
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:23:19 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 16:23:19] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:23:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12953
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE ESCÁNER SE QUEDA PEGADO Y ADEMÁS NO LLEGA AL PC
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 13458077
            [ClienteRazonSocial] => CAROLINA ANDREA LEIVA PEREZ
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2797
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:23:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12953
            GROUP BY l.idllamado;
            

09/06/2026 16:23:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12953
            GROUP BY l.idllamado;
            

09/06/2026 16:23:27 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 16:23:27] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:23:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12953
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE ESCÁNER SE QUEDA PEGADO Y ADEMÁS NO LLEGA AL PC
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 13458077
            [ClienteRazonSocial] => CAROLINA ANDREA LEIVA PEREZ
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2797
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:23:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12953
            GROUP BY l.idllamado;
            

09/06/2026 16:23:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:23:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:23:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:23:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12953
            GROUP BY l.idllamado;
            

09/06/2026 16:23:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:23:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:23:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12953
            GROUP BY l.idllamado;
            

09/06/2026 16:23:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:23:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12953
            GROUP BY l.idllamado;
            

09/06/2026 16:23:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:23:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:23:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:23:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:23:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:23:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:23:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:23:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:23:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12953
            GROUP BY l.idllamado;
            

09/06/2026 16:23:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:23:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:23:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:23:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:23:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12953
            GROUP BY l.idllamado;
            

09/06/2026 16:23:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:23:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:23:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:23:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:23:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12953
            GROUP BY l.idllamado;
            

09/06/2026 16:23:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:23:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:23:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:23:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:23:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:23:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:27:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:27:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:27:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12953
            GROUP BY l.idllamado;
            

09/06/2026 16:27:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:27:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:27:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12953
            GROUP BY l.idllamado;
            

09/06/2026 16:27:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:27:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:27:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:27:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12953
            GROUP BY l.idllamado;
            

09/06/2026 16:27:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:27:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:27:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12953
            GROUP BY l.idllamado;
            

09/06/2026 16:27:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:27:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:27:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:31:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12958
            GROUP BY l.idllamado;
            

09/06/2026 16:31:44 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 16:31:44] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:31:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12958
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2448
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:31:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12958
            GROUP BY l.idllamado;
            

09/06/2026 16:31:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12958
            GROUP BY l.idllamado;
            

09/06/2026 16:31:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:31:44 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 16:31:44] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:31:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12958
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2448
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:31:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:31:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:31:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:31:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12958
            GROUP BY l.idllamado;
            

09/06/2026 16:31:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12958
            GROUP BY l.idllamado;
            

09/06/2026 16:31:48 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 16:31:48] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:31:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12958
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2448
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:31:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:31:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12958
            GROUP BY l.idllamado;
            

09/06/2026 16:31:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:31:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12958
            GROUP BY l.idllamado;
            

09/06/2026 16:31:48 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 16:31:48] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:31:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12958
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2448
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:31:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:31:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:31:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:31:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:31:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12958
            GROUP BY l.idllamado;
            

09/06/2026 16:31:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:31:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:31:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:31:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:31:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12958
            GROUP BY l.idllamado;
            

09/06/2026 16:31:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:31:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:31:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12958
            GROUP BY l.idllamado;
            

09/06/2026 16:31:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12958
            GROUP BY l.idllamado;
            

09/06/2026 16:31:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:31:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:31:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:31:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:31:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12958
            GROUP BY l.idllamado;
            

09/06/2026 16:31:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:31:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:31:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12958
            GROUP BY l.idllamado;
            

09/06/2026 16:31:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:31:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:31:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:31:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12958
            GROUP BY l.idllamado;
            

09/06/2026 16:31:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:31:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:31:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:31:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:31:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:31:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:31:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12958
            GROUP BY l.idllamado;
            

09/06/2026 16:31:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:31:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:31:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:31:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12958
            GROUP BY l.idllamado;
            

09/06/2026 16:31:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12958
            GROUP BY l.idllamado;
            

09/06/2026 16:31:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:31:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:31:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:31:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:34:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:34:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12958
            GROUP BY l.idllamado;
            

09/06/2026 16:34:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:34:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:34:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12958
            GROUP BY l.idllamado;
            

09/06/2026 16:34:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:34:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12958
            GROUP BY l.idllamado;
            

09/06/2026 16:34:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:34:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:34:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:34:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:34:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12958
            GROUP BY l.idllamado;
            

09/06/2026 16:34:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:34:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                
=========================================
FECHA: 09/06/2026 16:34:40
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-8A3heXCRgmlE2OaZ_QjkhoL7uNVx9rcafzGbwi9hWiBW_Evt6rw
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "91770000",
    "serieinterna": "KY2448",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "20988335",
    "contador": "249549",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "maquina en buen estado\n",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12958",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACZANwDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABDEAABAwMCAwQHBQQIBwEAAAABAAIDBAURBiESMUETUWFxFCIygZGhsRUjwdHwB0JS4SQlMzVidMLxFiZygpKisuL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAQIDBAX\/xAAwEQACAQMCAwYFBQEBAAAAAAAAAQIDESESMQRBURMiYaGx0TIzcYHBI0JSkfDhBf\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAFzmmjp4HzTPDI42lznHoAuipNX1founZwPamIiHv5\/IFTFXdjOpPRBy6FrSVcNdSx1NO\/jjkGQfl9V2VTpdpbpuiB\/gJ+JJVsklZtE05OUFJ80ERFBcIiID4llZDE+WRwaxjS5zj0A5lZeOtvWo55pLZMKKhZ6jXvbu85zkbeHuypes6w09kMEeTJVPEYAbnbmfy96t7dRtoLdT0jcfdMDSR1PU\/HK0Xdjc5Z3qVOzvZLf7lPaL5Wfaj7ReI2R1QGYpGDDZB+uvh3rQqh1Xbn1NA2tpRiroz2jHNGTjr+fuU+y3Jt1tcNWMcThiQDo4c1EkmtSJpSlGbpSd+afh\/wAJ6IiodIREQBERAEREAREQBERAEREAREQBYTXtYZK2Cib7MLO0dt1dt9B81u1+aXeUVz7pcnDLXVDIIiT03P0YPitqK71zz\/8A0JfpaVz\/ABk3tkj7Kx0LMYxTsJ8yASpy508ZipoozzYwNPuC6LJ5Z3QVopBERQWCIiAzF6BrdX2mixlsIM7u7nnf\/wAfn4rTrMUP9K19XTc208IY3pv6v\/6WnV58kc3D5c5dX6YCyVN\/y1qp1GBw0NwwY+5jug+O3kQtaqTVltFfZZJG7TUwMrD125j4fQJB5s+ZPERbjrjvHPui7RQLJX\/aVnp6o+05mH\/9Q2PzCnqrVnY2jJSipLmERFBYIi5T1VPSsD6ieOFpOA6R4aPmhDaWWdUREJCIiAIiIAiIgCIiAg3qrNBZqqpBAcyM8JJI9Y7Dl4kLGXCk9E0DQ5GHTVIldtzy12PlhXmtpHvoKWgi\/tKucNA7wP5kLlriJsOnaWJnssnY0eQY5b08W8WeZxXec3\/FepqkRFgemEREAUCS708V5itTmydvLH2jXYHDjfrnPQ9FPWY1B9xqqyVA2L3mPPvA\/wBStFXdjGtNwipLqvUaVAlvF7qcZDqjha7w4nfyWnWY0OOOgrJzzkqjn4A\/itOpqfEU4T5Kf19QvmRzGRufIQGNBLieQHVfSoNY1pp7QKWJ339W8RsHXGd\/wHvVYq7sa1ZqnByfI46GDvseZ24jdO7gBHIYH6+K0qj0FL6FQQUuQeyYGkgcz1UhTJ3k2RRg4U1Fhcaqrp6KB09TK2KNvNziqm7aopaCT0Wlaaysds2KLcA+JH0G6hU2na671ArdQykgHLKVh9UDxxy92\/ipUOcjOde70U1d+S+offrrey6Gw0pijBIdVTYxjw\/RK60ukI3yNqLvVzV846OeeAeG+5\/Wy0MUUcETYoWNjjYMNa0YAC+1Ou2I4C4dSzVep+X9HgAAwBgBeoizOkIiIAiIgCIiAIi8c4NaXOIAAySeiAy9X\/WWvKen5x0EXaOH+LmD8S1dtctLtP5H7szSfmFF0zVwdvcrxWTxwtqZcRmRwbsMnbv5ge5eal1Baa+y1FLBUl8ji3gIY7BIIJ38lvZ60uh5bnB0JybzK79jU0zmvpYntOWuYCD3jC6rNWrVlojttLDUVRjlZE1jsxuO4AB5BXFNeLbWP4Kethkd\/CHjPwWTi1yO6nWpzStJE1ERVNgsxrDAntLx7YqfVHPPL+S06y+qPvb\/AGODp2\/ERnmOJv5FXp\/Ec3F\/Kf29Ue6B\/uOb\/Mu\/+WqZ9tTu1YLQxkRhbHxPdg8QOM9+Oo6KHoH+45v8y7\/5aomn8VetrnVNwWMDwD\/3AD5ArSSTlJs5qc2qVKMeb8jZLKQEXzWz52+tTW5vCDnYu33+Of8AxVtqK6C1WmWYOAleOCMZ6nrzHJVNJW02lbKyKX765VH3j4QcuLncge7H1yqwTtdGtecXNRk8LL\/CNLV1dPQ07qiqlbFE3m5363WXdW3fVMrordmhtwPC6dw9Z\/f\/ALD3ldKWxVt8qRX38ljAfuqRpwAPHu+q1EcbIo2xxsaxjRhrWjAA8AoxDxZa06++I+b9ivtFiobNFinj4pSPWlfu4\/kPBWSIqNtu7OmMIwWmKsgi8c4NaXOIAAySeiztfq6Bs\/olqhdX1JOBwexnz6+7bxUqLlsVqVYU1eTNGqqu1Labe5zJatrpG7FkfrHPu5KqNhvl4HFd7l2ETjk08O\/uPT6q2odOWm34MNGxzxj7yT13Z79+XuwrWit2Y660\/hjZePsVf\/FdbXbWizTzDP8AaS7NHnjb5q6tL7k+i4rrFFHUcR9WM5HD0zud+amgADAGAF6qtp4SNIU5p3lK\/oERFU2CIoF2u9LZ6Qz1Lsk7MjHtPPgpSvhFZSUVeWxJq6unoad1RVStiibzc79brG3rVVZXUM32dTvhoweB9S7m7O2B3fXyU2jtFbqGpZcr2SynB4oaQbDG3Pw+ZTUrWVl1tVkia0Rl\/aPY0bBvkPAOW0FFO25wV51Z021hbLq7+h7Z9GW70OCorWPllewOcwvw0EjPTCtK+zW9lnqo4KGBjuxfwkRjIODg5VsvHAOaWncEYKzc5N3bOmPD04x0pGb0pR0FdpyHt6Onle1zmuLo2k5yfDuIUit0fZ6uPhZAad4Gz4jj5HYqLoZ3BbqqlccuhqDnyIH4grTq05NSdmZ0KdOpQjqingyUhvWln9oXvuVtHtF3tRjfx+fLyWloa6muNK2ppZA+N3xB7iOhVZX6ihpL7FaZKfjbMAHSF2A3Odsdeiq62B+kLiLhRtc+31DuGaEfuHw\/D4dVLWrff1KKapN6XeK38P8AhEnv9cNWOkZM4UkdQKcsPskcj8cEqffD22sbfC0bxwOkPwccfL5rO07HSUlBK\/nU3El2P+z8SVpaYNq\/2gVbsAtp6fh8zhoP1PwWkklldDkpylNWb3kvc80jO2j0rUVDnAtifI8nfoAuOgWF0NdUu3fJI0Fx68z+KrKar9E0XcabiHE6q7Nocd98Z28gVVQXGuhtDqGnPZwzSklzR60hw0cP0+KnRfV4lVxCpum3yXnsW98rKu96nZBbmdr6IeGIYyOIHdxztjOOe2wWks2m46B5rK1\/pde88TpXbhp8M\/X6KRYLQyz22OLhBncOKV2Bni7s9QFaLGU8aY7HfR4bPaVMyefoERVt2v1DZmD0mQmRw9WJgy4\/l71mk3hHXKcYLVJ2RZKiumrKKhf2FKDW1JOBHEcgHxP4DKr+zv8AqZ3FI42y3k+xuHvH1PyHmr22WSgtEYbSwjjxgyu3e73\/AJK9ox3ObtKlX5asur\/C9ykjtV71A7tLxOaOlzkU0WxcPHu9+fJaGgtlHbYuzo6dkQ6kDd3meZUpFVybwa06MYO+76vcIiKpsEREARFxq6qGipZKmoeGRRjLnFCG0ldnG6XSntNG6oqHDYeqzIBee4KjtNoqLtWi9XluSd6enPJg6ZH67yuVtp5tUXVt5rG8FHAeGnhO\/ER1Pv5+WOi1q0fcVlucsV271y+FbLr4+x45wa0ucQABkk9Fl9OAXa\/V97JcYw7soAe7\/bG3iVY6prjQWCoe1xD5R2TCDjc8\/lld7BQfZtlpqcgh\/DxPyN+I7ke7l7kWIt9SZ9+so8ln78ixREWZ1GY00RBqG90pPOXjaPDLvzC06y4zb\/2gEH2K+DbzA\/NvzWmc5rGF7jhrRknuC0nvc5eGxFx6N+5+e3yndX3a81bSc0fBgA+IafoT8VrKyoZW6RmqJWh3aUZeQRtxcOfqqWwUzrhZL1VvaSaxz+EdScE7dOZ+SU1W0\/s4l3ALGuiO+Ny78itJZsujOKk9OqT\/AHJvzf4ZS2KY1lytFEY9qad0gI68nZ\/9VOo7\/HQXi7VDYX1FTUTcEEbRzAJ5\/wDqqi1QVVVdI47XIYpuy3fyLfVw7HXv5b7rXaKtggt7qyopi2pkkdwvkbh3Dgcs+OVpUsrtnPwqqTaUcZefokjHx0FVWXo08sDhK6oDZWtbszJ3yRyW6odI26huXpzDI4tcXRxuPqsPTHl4qLSAUuv6uMjDamAPbnvwPyctOsqlR4sdvCcNBXcstP0C+JZY4InSzPbHGwZc5xwAFBu97o7NB2lS\/L3D1Im+0\/8AIeKo4rfddUStnuhdSUAIcynbsX+P8z7gs1G6u9jqqVrPRBXl\/tzpU6irbtO6i0\/ATg4dVPGGtHhn8fgp1p0xS0DvSKo+mVjjxOll3wfDP15q1paSnooGwU0TYo28mtC7I5cokQoXeqo7vyX0CIiodIREQBERAEREB8uc1jC97g1rRkknAAWSPa6zr8NL4rTTPwd8ds7\/AG+APiperqyV0dPZ6Unt654DsdGZ\/E\/IFXlBRQ2+jjpYGBrGDoOZ6laLuq\/M5J\/rVOz\/AGrfxfT3OsUUcELIYmBkbAGtaOQC+0XjnBrS5xAAGST0WZ17GYvv9aaot1qG8cP30oI9+M+Q+fw1CzGlQa+5XK9PG0snZRHP7o36+HCtOtJ4tHoc3D95Op\/J+WyCIizOkzGsgaZ1uujMk0s+CB1B3\/0\/NW16qhHp+rqInggwHgcPEYB+ar9WXK2ttNRQzzgzvb6kbN3Bw3Ge7cLLS1V5rdNudJUNbRUvDEWA4c85GAeu2Rz7lvGOpK55lasqdSajm65cmWtq1DBbbFS0NBC6rr35JjaDgEknfv26BZ2qon0RqYK8Pp5msbLDCN2kkjPyz8F+haetlLQWunkhha2WWFjpH8y4kAnfuz0UTWkMLtPzTPia6RhYGP6t9Yfhn4q0ZpTsuZnV4acqClJ7Lblt6md0Ox0t+MgZtHCckbAch8T+a\/QlldB0HY26Wud7U7uFu3Jrf55+Cv7hc6O1wdtWTCNp9kcy7yHVZ1e9OyOngl2fDpy+pR3n+i6ytFVyEwMJ8eY\/1hdbpqcip+z7NF6ZWHIJbu1n5\/RZ7UNfXXulZXijdBb4H4jefaJPX5eXitnZ7XQ22jYKKMYkaC6U7uftzJ\/QVpJJJvczpynUqTjTdk835\/b+tyvtOl2U84r7nL6ZWnfL92sPhnmtAiLFyb3O6nTjTVooIiKDQIiIAiIgCIiAIiIDL0o9N\/aBVSu3bRwhrPAkAf6nLULKV8407qp1wn4jR1rOFxY0eq4Y59\/LPfv1WngqIamISwSslYeTmOyFpPkzl4dpOUXvdnRUuq7g+hsr2wn76oPZMA5788e7PxV0shcammuOsYoqmRsdLbmlzjI7Ac\/n18ceeCogrsniZ6YWW7waCyW\/7MtFPSkAPa3L8fxHcqeqCs1jbYHiKl7StlJwGwt2z5nn7sqI2TVd4I4WMtdO7OSR6+Pfvn4KdEnl4IVenFKFPNun+sXdyvVBamZq5w12MiNu7j7lR+nX3UZ4bfG620R5zv8AaePD+XxU226RoaKX0ipc6tqM57SXlnvx+eVfJeMdsjRVq\/G7Lot\/u\/YprVpigtbxPg1FTnJml3Oe8Dp9VUNpYLPqp9HUsaaC44fG13sh4OR88j3hbBVt7s8V5o+yeeGVmXRP\/hdhIzd8kVOHSguzWV\/n\/ZYtaGtDWgAAYAHRZnXVdHDaW0exkqHg4zyaN8\/HCiVWob9ZKQwV1HHJIMNZUuOzsjPIe0fLHjzVP9m3fUTKi7VTuFkcTnNe5uA\/hBIa0d3irwp2epvBz8RxOuDp009T8i6pdSdjaqK22emNVW9i0OG5aw43z3\/QZ59FNt+lzJP6dfJfTap2\/A7djPDHXy5Lpo2KBun4ZY4WskeXCR2N3EOPVX6rKVm0jajS1wjOo74wuSId1oW3C1VFHgfeRkN7g4bt+YCrtH1pq7DHG726YmJwxjly+RCvVlbfm1a2q6M5ENc3tWAkAZ5\/XiCiOYtF6vcqxn1x7GqREWZ1BERAEREAREQBERAEREBznp4amIxTxtkYSCWuGRss\/NoumZL2turaihd\/gcSOfmD81pEVlJrYyqUadT4kY252W42y3zVcmp6siNuQ0lw4j0GeNeaf0lTVtDHX3PtZJJzxhnGQC08iTzOefPuUvUDzeLzTWGJ4DGETVH4D4HPvC07WhrQ1oAAGAB0WjnJR8WccOHpzqt2wsdc\/cj0lvo6FnDS00cQ\/wt3+Kkoix3PQSSVkERQrldqK0w9rVzBufZYN3O8gpSvsJSUVdvBNWfueqGRz+gWmL02tdsODdrD49\/63UEPvWq\/YJt1uPJ370o\/H5DzWgtloorRB2VJFwk+0927n+Z\/QV7KO+5y66lb5eF19l+SpoNMPnqBX36X0upO4iO7GeHj5cvNX1VF2tFNCB7cbmgeYwuyKrk28m0KUIKy5lHpCCop7DHFUxSRPa93qyNLSBnuKvERRJ3dy1OGiCj0Cy+rw6jqbbd4xvTzcL8dQd8eWxHvWoVdfqB9ystTSxjMjm5YM4y4HIHyVoO0jPiIOdJpb+xYNIc0OG4IyF6oVmjqIrPSxVbeCZkQa4ZzjGw+SmqrwzWLvFMIiKCwREQBERAEREAREQBfMjiyNzw0uLQTwjmfBfSICh01a6mm9Jr7g3FZVvJcO5vPv\/wBlfIilu7uZ06apx0oIiKDQKPU0FJVvY+pp45XM9njGcKQiENJqzPAABgDAC9REJCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgP\/2Q==",
    "razonSocial": "COLEGIO INGLES CATOLICO DE LA SERENA SA",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "AYLEEN AGUILAR",
    "correoContacto": "aaguilar@cicls.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANTENCIÓN PREVENTIVA.",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56985439390",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "16:35",
    "ubicacionGPS": "LatLng(lat: -29.9177458, lng: -71.2550972)",
    "horaLlegada": "16:24",
    "horaDespacho": "16:19",
    "idMovimientoMaquina": "16",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 16:34:40 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:91770000

[09/06/2026 16:34:40] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('91770000', 'KY2448', 1, 20988335, 249549, NOW(), 
				'16:19', '16:24', '16:35', 16, 'maquina en buen estado
', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781037280.png', '', null, 'COMPLETADO','LatLng(lat: -29.9177458, lng: -71.2550972)' )
				
[09/06/2026 16:34:40] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200660

09/06/2026 16:34:40 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200660'                    
				WHERE idllamado = 12958			
				TO ENVIO: micorreo@miempresa.cl, aaguilar@cicls.cl

[09/06/2026 16:34:40] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 16:34:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:34:40 - INPUT: {"rutTecnico":"24456550"}[09/06/2026 16:34:40] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 16:34:40 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BLINKEND SEGURIDAD SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76548103
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 09/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 08/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [RutCliente] => 76063288
            [ModeloMaquina] => WF-C869R
            [FechaLlamado] => 08/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 95111827
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [FechaLlamado] => 08/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => WF-C869R
            [FechaLlamado] => 08/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76464003
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 08/06/2026
        )

)

09/06/2026 16:34:40 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12958			
				
09/06/2026 16:34:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:34:40 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


09/06/2026 16:34:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12958
            GROUP BY l.idllamado;
            

09/06/2026 16:34:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:34:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:34:41 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 16:34:41] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:34:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12953
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE ESCÁNER SE QUEDA PEGADO Y ADEMÁS NO LLEGA AL PC
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 13458077
            [ClienteRazonSocial] => CAROLINA ANDREA LEIVA PEREZ
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2797
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:34:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:34:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:34:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12958
            GROUP BY l.idllamado;
            

09/06/2026 16:34:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12958
            GROUP BY l.idllamado;
            

09/06/2026 16:34:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12958
            GROUP BY l.idllamado;
            

09/06/2026 16:34:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12958
            GROUP BY l.idllamado;
            

09/06/2026 16:34:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:34:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:34:43 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 16:34:43] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:34:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:34:43 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 16:34:43] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:34:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:34:43 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 16:34:43] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:34:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:34:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:34:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:34:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:34:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12953
            GROUP BY l.idllamado;
            

09/06/2026 16:34:43 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 16:34:43] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:34:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12953
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE ESCÁNER SE QUEDA PEGADO Y ADEMÁS NO LLEGA AL PC
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 13458077
            [ClienteRazonSocial] => CAROLINA ANDREA LEIVA PEREZ
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2797
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:34:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:34:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:34:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:34:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12953
            GROUP BY l.idllamado;
            

09/06/2026 16:34:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12953
            GROUP BY l.idllamado;
            

09/06/2026 16:34:45 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 16:34:45] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:34:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12953
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE ESCÁNER SE QUEDA PEGADO Y ADEMÁS NO LLEGA AL PC
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 13458077
            [ClienteRazonSocial] => CAROLINA ANDREA LEIVA PEREZ
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2797
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:34:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:34:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:34:46 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 16:34:46] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:34:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:34:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12959
            GROUP BY l.idllamado;
            

09/06/2026 16:34:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:34:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:34:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12959
            GROUP BY l.idllamado;
            

09/06/2026 16:34:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12959
            GROUP BY l.idllamado;
            

09/06/2026 16:34:47 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 16:34:47] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:34:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:34:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12953
            GROUP BY l.idllamado;
            

09/06/2026 16:34:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12959
            GROUP BY l.idllamado;
            

09/06/2026 16:34:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12959
            GROUP BY l.idllamado;
            

09/06/2026 16:34:47 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 16:34:47] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:34:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:34:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:34:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:34:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:34:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12953
            GROUP BY l.idllamado;
            

09/06/2026 16:34:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:34:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:34:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12953
            GROUP BY l.idllamado;
            

09/06/2026 16:34:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:34:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:34:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:34:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:34:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:34:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:34:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:34:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:34:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:34:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12959
            GROUP BY l.idllamado;
            

09/06/2026 16:34:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12959
            GROUP BY l.idllamado;
            

09/06/2026 16:34:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12959
            GROUP BY l.idllamado;
            

09/06/2026 16:34:49 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 16:34:49] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:34:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:34:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12959
            GROUP BY l.idllamado;
            

09/06/2026 16:34:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:34:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:34:49 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 16:34:49] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:34:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:34:49 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 16:34:49] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:34:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:34:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12959
            GROUP BY l.idllamado;
            

09/06/2026 16:34:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12953
            GROUP BY l.idllamado;
            

09/06/2026 16:34:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:34:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:34:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12959
            GROUP BY l.idllamado;
            

09/06/2026 16:34:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:34:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12953
            GROUP BY l.idllamado;
            

09/06/2026 16:34:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:34:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:34:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:34:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:34:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:34:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:34:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:34:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:34:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:34:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:34:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:34:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12953
            GROUP BY l.idllamado;
            

09/06/2026 16:34:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:34:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:34:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12959
            GROUP BY l.idllamado;
            

09/06/2026 16:34:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:34:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:34:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12959
            GROUP BY l.idllamado;
            

09/06/2026 16:34:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:34:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:34:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:34:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:34:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:34:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:34:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12959
            GROUP BY l.idllamado;
            

09/06/2026 16:34:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:34:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:34:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12959
            GROUP BY l.idllamado;
            

09/06/2026 16:34:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:34:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:34:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:34:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12959
            GROUP BY l.idllamado;
            

09/06/2026 16:34:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:34:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12959
            GROUP BY l.idllamado;
            

09/06/2026 16:34:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:34:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:34:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:34:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:35:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12959
            GROUP BY l.idllamado;
            

09/06/2026 16:35:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12959
            GROUP BY l.idllamado;
            

09/06/2026 16:35:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:35:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:35:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:35:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:35:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:35:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12959
            GROUP BY l.idllamado;
            

09/06/2026 16:35:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                
=========================================
FECHA: 09/06/2026 16:35:54
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-D-j6c3MNdBSb6MS7iqC836e7_vgr89Ju9Yy7FjeNc86+SmBMO+C
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "91770000",
    "serieinterna": "KY2961",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "20988335",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "maquina en buen estado, no se realiza toma de contador ya que se debe reemplazar cartucho de toner",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12959",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACQALgDASIAAhEBAxEB\/8QAGwABAAMAAwEAAAAAAAAAAAAAAAQFBgECAwf\/xAA+EAABAwMCAwUGBAMGBwAAAAABAAIDBAURBiESMUETIlFhgRRxkaGx0SMywfAHFUIWJENiguEzRVJTcnTS\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMBEAAgECBAQDCAIDAAAAAAAAAAECAxESITFBBBNRcSKB0SMyYZGxweHwFKFCUvH\/2gAMAwEAAhEDEQA\/APsyIiAIiIAiIgCIiAIiIAiIgCIiAzd6uNzlvbLTa3sjd2Jke53U8wM+g+KmadvMl3pZRURCKpp38ErQNvf5ddvJQKPDv4h1+d+GlGPLZn3XNsPs2uLnTDIZNGJRv17pP1KuaVrfA8+M5KpibycmvQ0yIipPQCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIuHODWlziAAMknogMzQ7fxEuOds0wx57RpP8A3f8AiHTnGBUU5GfHY\/8AyFl6q\/VL9QvudM7si48LfAtG2\/LPJabVTjSVtpu3CWiKXhk6HBwcZ9wctLi01fdHkRqxlCTX+Mr+TZqURFmPXCIq+7Xqjs9OZKh+XkdyJp7z\/wB+K6k3kiMpRiryeRYKouOqLVbS5j6jtZW\/4cQ4j8eQ+Kqm0N41Qzta+V1voicsgYO88ef3PwV1btP2y1kPpqYdoB\/xHnid8+Xop2jHUz8yrU9xWXV+nqQLdd73dKyGRltbTUBPffK7LiPEcvoi0KKDd9EXU4OKzd2ERFwsCIiAIiIAiIgCIqHU1xqre+3uppODtJ+F4xkOHgV1K7sV1JqnFyZfIiLhYcZAxk8+Sq9S1XsmnqyTOC5nZjxy7b9VnqaoluH8Qnd4tZA97cA42aCPXJ+RUjXdwh9gjoo5mmUyhz2NdkgAHmPeR8FaoWkkYZ8SpUZyWVrooY4aWS5WWizu0MExwNy53HjP+rHktTrWalNjkgknjE4c10cfF3jvjl7iVijRXGmpW3J8MkTO1aWzu2cXcwRnfpnK18mj6OO2VMxkkq6t8LnNlkJ\/NjIIH3yrp2TTbMNDmSpzhGOq\/q2R40eorzcaeKG024O7NjWyTzHYkDfwHNXFnhvzJXyXaqgkjc3uxxtGWn3gDz8V56QqPaNOU+Tl0Zcw7+B2+WFDu98qq+qNpsOXzZxLUN5MHkfqfgqmrtxSNkHhhGpOTbei\/BIvGo3wVIttqi9qrnbEDdsfv8\/2V1tGmeyn\/mF2k9srnHi727Yz5eJHwHRTbJY6ey0xaw9pO\/eSYjd32CtFFySyiXQpObx1ddlsvVhERVmoIiIAiIgC6uc1jC9xw1oyT4BdlXX+p9ksVbNnBERaDnkTsPmV1K7sRnLDFy6GfsOqayouTY7gAIKtxbA7hAw7OMZ688fBbFYmW2PZoSkqY3Fk9M72lruRAJ6eGxB9FOZrWB8MEdPST1lW+MF8cTcAOxuPHn5K2ccWcUYKFflrDVeqTXmahFmG3LVlUS6C0wwsxt2pwefmR9ENdrCAccltpZm53aw7+mHKGB9UaP5Mf9X8madZjWf\/ACz\/ANkfopFBq2lmlbT18T6CoO3DKDw88c8DHr8VG1S5s11sUTHB3HUcWQc7cTd\/34KUItSzK69WFSi8L6fU1Cj1tdTW+ndPVTNjYOp5nyA6qnueqoaeb2O2wmuqyccMe7W+8jn6fFRGacqqtklyv05mnYwuZTg9xm2cHH0HxK4obyJzr3bjSV3\/AEigstJc7nW1c9DOaWGQntpy7HCCc4zzUa3wQv1DR9iXyU7qpoa+Vv58EE7evLzU6y0F2uFs9jpm9nQ1E5MsvFvgDGD5bcuq1\/8AZygbJQvia+MUJJY1p2cTjd3juFfKai2jzKPDSqxTS0zz77fAanpTV6eq2NGXMZ2g\/wBJyfkCu2nqsVun6WZ+MiPgfn\/LsforJ\/DwO4yA3B4iTjZfOrWy4V5qbDbqhgpDK575R1ZkD4HbZUxWKNj0K0+VWUkr3VrfQ72mS5TiosVreBC6dzn1A\/pZy59AcLbWm00tnpBBTN3O73n8zz4n7LrarLRWeHgpYzxEAPkccuf71YLk54tDvDcPy0nPN\/TsERFWbAiIgCIiAIiIAsvryqEVqgps4M8uT\/4t5\/MhXd1utNaKN1RUO8mMHN58AsZS+23rV1K65R4aR2ohcMhjMEgYPjt8VbTjniexh4uqsPKjq8u1ywoLZXajja+vMlJbWNDYKZhAJA2B5fPHuwF76HDYaeupHxBs9PPh7sDJHLB9WlalZejIt+vaun5MrYuNozzdjP6OXcWJNHHSVGcJau9m+5qFTUOooqy91FsdCYXxEhhLs8ZBOeXJXKxOqHR2bU1FdImhz3jikZ442PxBx6KEEpOxdxNSVNKa0Tz7GqulPQVFE83BsfYsGeN+xZ5g9CvldTKHVHCyeSSGI8ETn8wzJI26c1r4o63WVV20\/HTWmJ3dj6yEfvn06dVmr\/AyC+1cMMQjYx+GsaMADAWikrOzPL46XMSqJZaX6\/g+j2uzUVoh4KSLDiO9I7dzveVKqofaKSaDOO0Y5mfDIwvK2Vft1spqo44pYw52OQON\/nlSllbd8z2YKOBKKyINntotFuZRtlMoYSeItxnJypjnNYwve4Na0ZJJwAF1mmjp4XzTPDI2DLnOOwCyU0tbrGrENN2lNaY3d+TkZD++nTmfBSScndlc6kaMVCKu9kelTW1WrKt1vt5dDboz+PUf9zyH2+K6zUcOmtT2+SmbwUtUwwOAyST4n1LT6Faijo6egpm01LGI42cgPqfFVeraE1tilcwEyU5ErOHntz+RKmpK9tiipRkoOo85rP5bIu0UCyV4udop6rfic3D8\/wDUNj8wp6qas7G2MlKKktwiIuEgiIgCIiALpLLHBC+aV4ZGwFznHkAu6y9+qZbzc49P0TjwAh9W9p\/K3I29PrhSjG7KqtTlxvvt3PO2RP1Nen3apbiipjwU8Ths8jOCR659+PBemngK3VF4uGMhjhExx6jONvRo+KveGG02pwiaGxUsJIHkBndU+iICyyvqX5L6mZzyT1A2+oKscrpvyMqp4akIvN5t\/vmaNZfUwFFfrRcuQEnZSOxyGfsXLULOa4ZC+w5kka2RkrXRgndx5ED0OfRQp+8XcUvZN9M\/kXlZWU9BTOqaqQRxs5k\/QeKw0U39sdTxtmY5lLEwkMHPhHifMkKVDFUX2H+cXx5jttO3ijhZ\/XjYnx5hT9GUjjHV3SWIxOq5Pw28gGc9vLJx6KxJQTe5lnKXEVIxt4de6X26EeH27SNaYjG+otM0ndc0cToyf369FTu9mvmorjUNa7svZpJGB43yGYBx79x6L6MQCMEZBWQqOCm1hXkgMZ7A4gAYGA0fYpCd7vc5xFDAoq\/hvp0\/Ba6PkMmmaXiJJaXtyT\/mKtaurgoaZ9TUyCOJgySVm9N3GmtGk46msfwMdI\/gA3L98bDqvOnoqvVtQ2uuHHBbmk9lTg44\/P67\/BRcfE29C6nWapQhHOVl\/wBZw32vWVXlwfT2iF\/Lk6Uj9+nvWrp6eKlgZBBGI42DDWt5BcxRRwxNiiYGMYMNa0YAC7qEpXyWhopUsHibvJ6v92C4IBGCMgrlFEuMrpYm3Xa5WV5PDG\/tIgT\/AE\/7gtK1So6m11J1dSXOnjZ2PZFk7iRzwcbc+o5eCvFObu7mfh4uEXB7PLsERFA0BERAEREBXX25i02maq5vA4Yx4uPL7+ih6WtbqShNbUkuq638SQu5gHcD55PmoeoAbtqS32gH8KP8abbb94GP9S1KseUbdTLH2lZyekcl339Cp1RKIdOVjicZYGjfxIH6r009H2Wn6FvjC13x3\/VVetXOlpqG3sOHVVQBtzONvq4KxvF4p7FRsa1vaTOHDBCDku6D0SzwpLci5pVpTlokl9z2u13pbPSGepdknZkY\/M8+So6Cy1F+qP5re8hrgewpujR0J\/e\/XwXpadPz1lZ\/N74e0nfgxwHlH4ZH6fHdadG1HJanVCVZ4qitHZfd+hhbdb6i40s2mqmpEDqKftNhkvZvnHqc+oW3iiZDEyKNoaxjQ1rR0A5BZ7UVuqqetjvttHFPAMSxgfnb4+e372VtarvS3elbPTvGSO9GT3mnqCuzbkrojw8Y05OD12+K2+ROXz\/WVQafULyzm+lDHYOOef0VtftZQ0odTW1wlnzgy82M93ifks5ZYpKzUlFNcRI9tRIXh8n+IQDjnzGQB8lOnBx8TM3F141LUoPO6z6F7YdKySsiqLw0lkQIgpXcmjJPe9TnHx8FrwABgDAC5RUyk5O7PQo0Y0o2iERFEuCIiAIiIAiIgCIiAIiIDMWok66unaHviIcI\/wAvd\/2WmJAGScAKou2nmXGpbWQVUtJVMGBJH19\/Xw68lAdpa5VbOxr77NLBn8rQe978n7q14ZZ3MceZSvFRvm3qtyr1HcX1upaNtrDaqSmA4OHvDjz+myvLLpw01R\/MblKamvfuSTlsZ8vP9hV+j6KKK8XOSBv4MLuxjcTkuHEevoFr12creFFfDUuY3Wnq35dAiKiu+p4aKb2KijNZXE8IjZuGnzx18voqlFt2RtqVI01eTLWtrqa307p6qZsbB1PM+QHVYllsfqO6vqrZTOt9E7IfPkjtN98DOPQbeKtqLTVTcZ21+oJjM\/mynB7rPI4+gWma1rGBjGhrWjAAGAArFJQ01Mrpy4izmrR6b\/gz1v0TbKOQSTl9W4YIEmzc+7r6qxrrNDW3GirXPLHUhyGgbO8FZIoOcm73L40KUY4VHIIiKJcEREAREQBERAEREAREQBERAF1ke2KN0jvysBJ9wXZR66KWe31MMJAlkic1hJ5OIICI43ZZFFodjjap6l\/556hzjjwwP1yr+qq6eigdPUytijbzc4qFp63yWyywU0oAlGXPx4kk\/TC97jaqO6tibWRdoIncTdyPTbopyac2Z6UZwoJLW25nnXO66nkdBamuoqEHD6l+zneQ+w9Turu0WKhs0WKePilI70r93H7DyVhHGyKNscbGsY0Ya1owAPILsjlstDtOjZ45u8v3QIiKBoCIiAIiIAiIgCIiAIiIAiIgCIiAIiID\/9k=",
    "razonSocial": "COLEGIO INGLES CATOLICO DE LA SERENA SA",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "AYLEEN AGUILAR",
    "correoContacto": "aaguilar@cicls.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANTENCIÓN PREVENTIVA",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56985439390",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "16:36",
    "ubicacionGPS": "LatLng(lat: -29.9177488, lng: -71.2550683)",
    "horaLlegada": "16:24",
    "horaDespacho": "16:35",
    "idMovimientoMaquina": "16",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 16:35:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:91770000

[09/06/2026 16:35:54] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('91770000', 'KY2961', 1, 20988335, 0, NOW(), 
				'16:35', '16:24', '16:36', 16, 'maquina en buen estado, no se realiza toma de contador ya que se debe reemplazar cartucho de toner', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781037354.png', '', null, 'COMPLETADO','LatLng(lat: -29.9177488, lng: -71.2550683)' )
				
[09/06/2026 16:35:54] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200661

09/06/2026 16:35:54 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200661'                    
				WHERE idllamado = 12959			
				TO ENVIO: micorreo@miempresa.cl, aaguilar@cicls.cl


09/06/2026 16:35:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:35:57 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12959			
				
09/06/2026 16:35:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


09/06/2026 16:35:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                
TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


09/06/2026 16:35:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12959
            GROUP BY l.idllamado;
            

09/06/2026 16:35:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:35:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:36:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:36:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:36:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12959
            GROUP BY l.idllamado;
            

09/06/2026 16:36:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:36:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:36:22 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 16:36:22] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:36:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:36:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12959
            GROUP BY l.idllamado;
            

09/06/2026 16:36:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:36:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12959
            GROUP BY l.idllamado;
            

09/06/2026 16:36:22 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 16:36:22] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:36:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:36:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:36:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:36:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12959
            GROUP BY l.idllamado;
            

09/06/2026 16:36:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12959
            GROUP BY l.idllamado;
            

09/06/2026 16:36:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:36:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:36:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:36:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12959
            GROUP BY l.idllamado;
            

09/06/2026 16:36:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12959
            GROUP BY l.idllamado;
            

09/06/2026 16:36:23 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 16:36:23] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:36:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:36:23 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 16:36:23] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:36:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:36:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:36:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:36:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:36:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:36:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:36:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:37:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12770
            GROUP BY l.idllamado;
            

09/06/2026 16:37:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12770
            GROUP BY l.idllamado;
            

09/06/2026 16:37:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12770
            GROUP BY l.idllamado;
            

09/06/2026 16:37:24 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 16:37:24] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:37:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:37:24 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 16:37:24] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:37:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:37:24 - INPUT: {"rutTecnico":"20988335"}
09/06/2026 16:37:24 - INPUT: {"rutTecnico":"20988335"}
09/06/2026 16:37:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12770
            GROUP BY l.idllamado;
            

[09/06/2026 16:37:24] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 16:37:24] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:37:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:37:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:37:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

09/06/2026 16:37:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

09/06/2026 16:37:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12770
            GROUP BY l.idllamado;
            

09/06/2026 16:37:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12770
            GROUP BY l.idllamado;
            

09/06/2026 16:37:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

09/06/2026 16:37:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12770
            GROUP BY l.idllamado;
            

09/06/2026 16:37:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

09/06/2026 16:37:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

09/06/2026 16:37:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

09/06/2026 16:37:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

09/06/2026 16:37:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

09/06/2026 16:37:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

09/06/2026 16:37:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

09/06/2026 16:37:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

09/06/2026 16:37:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

09/06/2026 16:37:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:37:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12953
            GROUP BY l.idllamado;
            

09/06/2026 16:37:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:37:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12953
            GROUP BY l.idllamado;
            

09/06/2026 16:37:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:37:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:37:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:37:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12953
            GROUP BY l.idllamado;
            

09/06/2026 16:37:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:37:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:37:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:37:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:37:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12953
            GROUP BY l.idllamado;
            

09/06/2026 16:37:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                
=========================================
FECHA: 09/06/2026 16:37:46
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-TbvA_qR4sEDdFztGfJpqnrx6g7JgqK+3RcaIH1q0kjfhmwz3eZQ
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "13458077",
    "serieinterna": "KY2797",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "242347",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•El computador del módulo 6, al estar conectado por cable LAN, se demora en recibir la iniormación de escáner de la impresora. Esto no ocurre por wifi\n•Se deja conectado por wifi\n•Se crea plantilla para escanear a doble cara",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12953",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADIAUADASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAMFBgQCAQf\/xABHEAABAwMCAgYGBgULBAMAAAABAAIDBAURBiESMRNBUWGBkRQicaGxwRUjMlLR4QckQnLwFiUzYoKSk8LS4vE2Q1SiRHOy\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMxEAAgECAwUHAgcAAwAAAAAAAAECAxEhMVEEEiIyQRNhcYGRobHB0RQjM0Lh8PEFUnL\/2gAMAwEAAhEDEQA\/AP2ZERAEREAUc88VNEZZpGxsbzc44XFeL1SWam6Wodl7gejiHN5+Q71SU1nr9SSNrr090VNniipWbbdvd8fYpqOF3kZ6laz3IK8vjxJpNVz1kzobHb31had5XZa0eH4kL4KPV1WOKWvp6QE\/YYMkeQPxWjgp4aWFsMEbY42jAa0YAUi7vpZI52EpY1JPywRmPobVEfrR31jndj27fAr4bjqa0uHp1EyvgAy6SDn7dh8vFahE39UPw9uWTXnf5Ky0X+hvDPqX8Ew5wvI4vDtCs1S3jTFHdT0zP1aqG4ljAGT\/AFu34qvpb5X2OobQ36Nz4i7DK0ZII79t\/im6pcpztpU3arlr089DVIvEUsc0bZIpGyMcMtc05B8V7VZqCIiAIiIAiIgCIiA8h7HPcwOBc37QB3HtXpZPTcjrlqa6XIZ6LZjDnY9Q5bHZvvWsUpR3XYqo1O0jveIREUS0IiIAiIgCIiAIi8RzRS56ORj+E4PC4HBQHtERAEREAREQBERAFV3y9w2al43DpJ37RRDrPf3Lsrq2G30clVO7hZGM+09QHtWdsFFPeK\/+UNyGDnFNFjZoHI+zc4791OKWbyM9apK6pw5n7LUls1gmqKgXe9ky1bjxRxO5RDqyPl1e1aVEXJScniWU6UaasgiIolgREQBQ1dJT11O6nqomyxO5td\/GymRDjSaszHytuOj6hz6djqq0vdksO5iz39Xt5H2rUUVbT3ClZU00gfG8bHs7j3qZzWvYWPaHNcMEEZBCyNRFNo+6iqp2vdaqg4kjG\/Rn+OXkrefxMjT2d3XJ8fwbBFHDNFUQsmheHxvGWuadiFIqjZmEREAREQBVeo6\/6OsdRM13DI5vBHt+0dvxPgrRYvXFS+qraK1QnLiQ4gHm5xw35+anTV5Iz7VU7Ok2sy10XR+i2BkhHrVDzIfZyHwz4q\/UcMTKeCOGMYZG0NaO4DCkXJO7uWUodnBR0CIiiWBERAEREARFHNNFTwvmmeGRsGXOcdgEGRTaou09DTRUlFk1lW7gYG82jrI79xjx7FXaDp3QOuQcQeGRseR2t4vxXrT0Ju10qtQ1jQI8ltOHEeoB192AB5kqbQ+ZKCrqeEAS1J7ewH5q98MHE8yLdSvCo8sbeGvmaZERUHphEUVTURUlLLUzO4Y4mlzj3BDjdldnHeL3SWWm6SoPE92ejjbzcfkO9c9q1Ey4Vho56WWjqeAPbHJ+0MAnqHf4DwVZYqJ9+rTf7iMgOLaaEj1QB19+DnxyVLf8RasssrBh73cDj2jI295V27Hl6mF1qjXa\/tusNVqadEVRqa6\/RNnkkY7E8v1cXaCevwG\/kqkruyNk5qEXJ5IqLjIdT6gZa4ZCaGlPHO5p2ee4+OPMrWMY2ONsbGhrWgBoHUFVaatZtdojZIMTy\/WS555PV4Db25VupTfRZIqoQaTnLN\/2wREUDQEREAREQBERAFHPBFUwPgmYHxyDhc09YUiIGrmRt0sulrz9FVL+KhqncUEh\/ZPZ8j4Fa5V96tMV4t76aQAPxmN5H2Hdq4dK3GSopJLfVnFXRHo3gncjkD7seXarJcS3upkp3pT7N5PL7F8iIqzWEREB8c4NaXOIAAySepfn9ncb5rZ1W4ZY15m8G7N5\/wBlajVdd6Dp+ctOHzfVN8efuyqrQNFwUdRWuG8j+jbv1Dc+8+5XQ4YOR59d9ptEKWmLNciIqT0AiIgCIiAIiIAszqqplq5qaxUjvrapw6Qg\/Zb34PtPsC0j3tjjc95w1oJJ7AszpVjrlXVl9qAS6R\/RQg\/st5nGfAeashhxaGbaG5WpL93x1LW4tjtmm6iOAcLIaYsYPDAUGkYeh03S5bhz+J578uOPdhQa1qeisRp2gl9TI1gAG\/PPyx4q5oKYUdvp6YDHRRtb4gI+TxOJJ7Rh0Xz\/AIdCIirNQWZ1XUPrZaaw0xBlqngydfC0b7792fBaOWVkMT5ZHBrGNLnOPUBzKzemWyXO5Vl+mbgSkxwNO\/C0ePcB5qyGHFoZtoe9akuvx1NFTU8VJSxU0LeGOJoa0dwWd1H\/ANTWP\/7T8WrTrMXzMmr7PGDnhy7G3b\/tSHMc2lWppLVfKNOspIz+UGsQwjNJa\/tA8i\/PLzHk0q\/u1Z9H2qpq84dHGS397kPeQq7SFH6NZGTuH1tUTK85J69ufd8UjgnIVfzKkafTN\/T3L1ERVmoIiIAiIgCIiAIiIAiIgCyt2Bs+rKO5taGwVYEMxzgZ5ZPhg\/2VqlSatohWafnIbl8GJW92OfuypwfFYz7TFum2s1ivIu0XDZq03Cz0tU45fJGOM9rhsfeCu5Ras7F0ZKSUl1CIi4SMLr6u6Ssp6Fp2ibxu26zy9w961llo\/QLNS0xGHMjHEP6x3PvJX5+0\/TurgT6zJ6j2+oP9oX6cr6nDFRPN2R9pVnV8l\/fQIiKg9IIiIAiIgCIiAoNY1zqWyOgi4ulqnCJoaN8dfu28VZ2qiFvtVNSDnGwB3L7XM+\/Koqtv0xreCnxxQW5nG8g7cWx+PDt3FalWSwikZaXHVlPTBfX3MvqHFZqez0G5DXGVzR1jP+0+9ahZe1YuOtbjW5yykaImdx5fJ3mtQk8LI7s\/E5T1fxgERFWaTOavqpnU1PaqQ\/X10nCQDvw\/IZx4ZV3Q0jKChhpIyS2JgaCevvWdtUX0zqysukjuOGjPRQAjr5cvM+0rVKyWCUTLQ45SqvrgvBfdhZiT9a\/SJHj\/AOJTb47wef8AfC06zGnsVmprxXg5DXCJpPWM\/wC0e5chk2dr4yhHv+MT3rWZ7rfT0EX9JWThoGeYHd7S1aCCFtPTxws+zGwNG2NgMLN149N15QwO3ZTRdJj+tuf9K1C7LCKQpcVSc\/L0CIirNIREQBERAEREAREQBERAFHURCemlhPKRhafEYUiIGrmb0NKX2F0bjvFO5uD1bA\/MrSLMaT+ruV7p2k8EVThrT1DLh8APJadTqczM2y\/ox9PTAKuv1WKGx1c5xkRlrc9p2HxVistrqpAoqWi4+Hp5cu2ycD8yEgrySJbRPcpSkVGg6XpbtNUEZEEWAcci4\/gCv0BZjQtOG2ueqxgzzHyHLfxK06lVd5sq2GG7QXfiERY2vvFyuj62otdQIKS3tz0jT\/Sny7vd3qEYuRdVrKkscTZIuK0Vrrjaaere0NdKzLgDtnkfgu1cas7FsZKSTXUIiLh0KOaVlPBJNIcMjaXOPcBlSKk1dWeiaenwcOnIiHjz9wK7FXdiupPcg5aHJoyJ01PV3SYDpayYnOOofmT5K\/raltHRTVLyOGJhfv14CgstH6BZqWmIw5kY4h\/WO595KqNazSOoqW2w\/wBJWzBo3O4BHzLVPmmUJ9hs9+tvd\/ye9FUz4rK6plB46qUvyesch7wT4rRKGlpo6OlipohhkTA0eCmUZO7bLqMOzpqOgVffK4W6zVNTxAPDMM3x6x2CsFmNXuNXPbrSxzgamYF+OpvL5k+CQV5HNom4U21md+laL0HT9O0jD5R0rtvvcvdhXC8ta1jAxow1owB2Belxu7uTpwUIKK6EFdUCloaioJx0Ubn59gyqXRNP0VgEx3dUSueSeZweH5FetZVfo1gfE0+vUPEYHXjmfhjxVrbKX0K2U1LjeKJrXe3G\/vU8oeJTzbR\/5Xz\/AIUNGem\/SFXOO4ipwGnsOGfiVqFmLN6+tLu88w0N+H4LTrk80Nm5ZPvfyERFA0hERAEREAREQBERAEREAREQGX0\/mPVd7jH2XPDj7cn8StQs3ZoZY9XXhz43NaQ0gkbHPJaRTqZmbZlaDXe\/kL8+1nVmS\/PjBOKaANwB1u558HBfoK\/MHA3nVrmZyyeq6\/uA\/wCkKdFYtmf\/AJCT3IwWbZv7FS+h2Ojg2yIgTjtO595VgiKpu7ub4xUYqK6FLqq4mgsz2R56ap+qjDee\/PHguWa3ssmiKmnOOMxEyE7Ze7b8B4Bc7HnUGsuJpzSWvkeovz8yPJq6dbyltljgZu+eZrQ3t5n8FalZqJhnLeU6uisvr7nfpqN0WnaJjufR58yT81aKOniFPTRQtAAjYGgDuGFIqm7u5tpx3YKOgRRzzxU0L5p5GxxsGXOccALktl4pbt03oxJ6F3C7II9nwSztc65xUlFvFnestqTFfqK02vOQHdLIBvkf8NPmtSsvZz9I6yuVd9qOnb0LCOWeXj9l3mpwwu9DPtPEow1fssTULLO\/nPXzRuYrfFv2cX\/LvctO97Y43PecNaCSewLNaNY+p9Pusg9aqnwM8wBv88eCRwTZ2txThDvv6fyadERVmkLLgmt\/SEQRxNooNj1DIHzetQsvpg+kX+91WQR03A0jrGXfIBWQybM1fGUI9\/xiahERVmky98xcdWWu3blkOZpB1du\/933961Cy+nP5yv1zvBGWcXQwk77d3VyDfPz1CsnhZaGbZ+Leqav2WCMxY\/8ArC8+HxWnWYofqf0gXBnMSwBw8mfmtOuTzQ2bla738hERQNIREQBERAEREAREQBERAEREAREQHJdKn0O11VTnBjic4e3G3vWJ0JSdNeJKkjLaeI4OOTnbD3cS0GtqnoNPujBwZ5Gs27PtfJedEUXo1j6dzcPqXl2T90bD5nxV0cKbep51RdptcY9Iq\/8AfY0a4bzcBbLTUVeQHMbhmetx2HvXcstqiQ3C62+xxu9WR4kmAzy6uXcHHyVcFdmuvNwptrPJeLO3SNEaWxRyP3lqSZXuOcnPLn3fFcd6H0hq+2UGA5kAMzweXbv\/AHR5rTtaGtDWgAAYAHUsxaMVutbpV4yKdoiG3I7D\/KVOLu3IoqQUYQpLVe2JqERZ\/U11kiEdposOrK31Of2GnbPd+RKriruxpqVFTjvM4a+SXVV6FupyRb6N\/wCsvzjjOfyIHiVLouNkct16IARio4WAdQGVYU9HFpnTkpZh0kUTnvfj7b8beGdlDoyldT2Bkjx61Q90hOcnHIfBWt8LSyMUKb7aMpc2LfwkXNZUNpKKepccCKNzztnkMqk0VTGOyGpfkvqpXPJPWBt8j5qbWFR6PpyoA5ylsY8Tv7gV32in9EtFJB1siaD7cb+9Ryh4mh8W0LuXz\/hxarrBR6eqPvTDom7458\/dldNio\/QLJS0+MOEYc7947n3lU2pR9IX+1Wok8Bd0r2gZyN\/k0+a1KPCKRyHFWlLTD6sIiKs1BZfQw46KtnznpKk79uwPzWoWY0FvZJzjH607b+y1WR5GZqn68PP6GnVNqq4C32KbD+GWYdGzBwd+Z8sq5WWrw69axgohh1Lbx0kvZxc\/9I8+9cgsbs7tEmoWjm8F5lxYLeLZZqemOePh4n5+8dz5cvBWKIot3dy6EVGKiuhl7uRRa0tdWThk7TEfbuM\/+zfJahUGsaR09m9JiyJqR4la4DcDkfx8Fa22sbcLbBVsyBKwEg9R6\/epyximUU+GrOGuP0Z1IiKs0hERAEREAREQBERAEREAREQBERAY3XTn1NXbrfEAXyOJGeskho+a1tLTspKWKnjGGRMDG+wDCzBLLj+kIDBc2ihx2bj83LWKyeCSMdBb1SdTvt6BZbTn863+43pxcY2noYc8sf8AAH95WWqa\/wBAsNQ9pw+UdEzBxu78sqTTtCbdY6aBww8t43jOdzv+SLCLepKfHWjHosfsWL3tjjc95w1oJJ7As1onElLW1WRmeoLuHPrAd\/mVNqy+U9Db5qIO46mojLOAfstIwSfBQ6MtcFJbG3MyO6Wdh4suw1rQfy5rqVoNvqQlPe2mMY42TuX1wrobbQy1c7gGxtJAzjiPUB3lUWl6SarqJ7\/WD62qJELSc8DM\/kAO72rme4auvzGsybZRHJJbtK788eXtWua0NaGtAAAwAOpcfCrdWSj+dU3\/ANqy73qUurxMdOVAhYXZI48dTQck+5d1ndE+z0boBiPoW8I7Nl0VUAqaSandylY5h8RhUOiJ3vsz6eQYdTTOZjsHP4kpnDwJPh2hd6+P9ItX5qqy1W0b9NPxOHYBgb+Z8lqFmKr9b\/SBSx820sBcR34O\/vb5K4vdc23WepqS7DmsIZvglx2HvSSwiiNOSUqlR6\/CKSy5umrrhcjvFTjoY\/Vx3fAHzWqVLpOhdQ2CFr28MkpMrgR28vcArpcm7yJ7NFqmm83j6hEXwkAZJwAoGggrqyK30U1XMcMiaXHv7AO8nZZDQVyLZZbY5o4X5ma7v2BHkF0VU7tVX1tDTSP+jab1pZGbB5HYfIDxKpdIPZTagL5ntYyOJ5c4nAAC0RhaDTzPKq13LaIOPLdr7m8u1wZa7ZNWPwSxvqtP7TjyHmq7Sdvkpbe6sqcmprHdI8uG\/d1d+VXMLtYXhr3RltronZGR\/Sn+B4D2rXAADAGAFW+FbvU1032tTtOiy+rPqIirNR5exskbo3tDmuBDgesLLWCZ1kvVTYZ3fVPd0lM5x556vEe8HtWrVLqWzG50jZqfLaymPHE5vM934d6nBrJ9TPXjLCpDNe66oukVLp7UDLtEYJx0VbCMSxnbOOZA+XUrpRaadmW05xqR3o5BERcJhERAEREAREQBERAEREAUc8zKanknkOGRML3ewDJUi8TRMnhfFI0OY8FrgRkEIcd7YGL0MX1V3r62QZe5vrOHa52fktusroWNppq+pYwNbJPwtx2AZx\/7K7uV6oLUzNXOGuxkRt3cfBW1MZ2Rj2RqGzpyZTaoJrrzarS3cPk6WQc9vZ7A5SXXUkklT9GWNvpFY44MgALY+3uPwVFT09bq691FZDIaSAAMc4HcNxs3bmTjf\/hbS2WmjtNOIaWPH3nuOXO9p\/gKUrRSTzKqXaVpSlHBN59y0+5QyaYdSWWtmld6ZcpozxSHJxnGQPxVfRG4XygpbPRtfT0cLAKmYjGTzI9\/LrW7XxrQ0YaAB2BRVR9S57JG63XZZPv8yCioqe30rKamjDI2DYdvee9dCIqjWkkrILK2eQWvVtxt0reAVbulhJPPmfgT5LVKmv8AZHXJsdVSydFXUx4oX9R68FTg1k+pRXjJ2nHNf1nDY\/1rWF5q+fRYh7OvH+RQ3tx1BqOnssTs09MekqS09fWPAbe1xVVp99\/qKeq+jIowKmU9JUuIBa7GT19\/YVsLNZYLPTuZG50ksh4pJHHJcVZK0Xcx0VKtTUbYN3ffjkixa0NaGtAAAwAOpfUXiWVkMT5ZHBrGNLnOPUBzKoPUyOG73mntEAfKDJK84jibzcfkqaepvuoCaWCj9Bo3txLJLnLh1j4jYeK+WVsl+1BNepg70WnJZStcDjsyPDf2nuWrVjtDDqY4qVdN3tH5\/wBOO12ymtNG2mpm7Ddzjzee0rI2qw0lzvFzgqS8Gmqct4Ts5pLsg+QW6WYpcUev6qP9mrgDmjv2\/B38c+wk8TlenC9NNYXt6o0NJSQUNMympoxHEwYACmRFUbEklZBERDoREQFFe9NtrphX0Mhpq9mC14OA8jt7+9c1v1S6Cf6Pv0XotU3\/ALmAGOGOZ328NvYtMuesoaWvi6KqgZK0cuJoPCe7sU1LC0jNKi1Lfpuz66Mna4OaHNIIIyCOtfVlX6budqk6WxXAhmd6eY7Yz5Hn3e1emajvFA3hu1llIaN5YBkfMe9d3L8rOfiN3CpFr3XqahFn4dbWWXHHJNDn78ZOP7uV2x6js0gy24wD953D8VFwkuhZGvSllJepZouNt2tr88NxpXY7Jmn5r19J2\/8A86m\/xW\/iuWZZvx1OpFyOu1tYMuuFK0d8zR81E6\/Whmc3Km27JAfgm69DjqQWbRYIqh+qrGzObgw4+61x+AXJNre0RtzH0837keN\/HCkoSfQre0UVnJepokWXOrK+pH832GokB5PfnHjgfNOHWNed3U1vYeoYJ\/zLvZvrgR\/EwfIm\/BGme9kbC+RwY1oyXOOAFQ3TVtqpoZIoqj0iUgtAhHEBnrzyUDdGuqX8d0utRV9g5Y8yV13C2W+06frjSUscZ9HczjxlxyMc+fWupQvqQnOu4t2UV34szun49QVNqFLbhHTUznucalxwSewcz1dQ8VaP0\/Q2K21Fyq3Gtqo28QfLjHHyGAe8jnlWWlIzHpmjaetrnebifmuHV8jquShs0TgH1Uoc7uaNvx8lLebnYoVKMKCm8XZWvq9Dp0fRGksMcjx9ZUkyuJG+Dy9wz4q9XmONkUbY428LGANaOwBelTJ3dzfTgqcFFdAiIuFgREQBc1yl6C2VUu\/1cL3bdzSV0qt1FJ0enq52cZhLeeOe3zXY4tEKjtBvuOPRcXR6bhdt9Y97vfj5K+VTpdgZpuiA62E+ZJVsuz5mQ2dWpRXcgsrqKsnu1ezT1vdhxPFUSZ2aOw+73BWuoLuLRby9nrVEp4IGYzl3bjuUemrObZQmWo9asqT0kriPWGf2fD4qUeFbzK6rdSXZR8\/DTzLKjpIaCkjpadnDFGMNCnRFWaUklZBZfUwFJfrPcQMASdFI7sGR4ci5ahU2q6L07T9Q0Ny+EdKzw5+7KnB2kU7TFypO2ax9MS5RV1hr23KzU9QHZfwBsnc4bH8fFWKi1Z2LYyUoqS6hERcJBERAEREAREQHPNb6KpOZ6OCU5zl8TXfELifpmyv52+Mb5w0kfAq1RdUmsmQdOEs0ijdo6xOxijc32Sv+ZXz+Rlj\/APGf\/iu\/FXqKW\/LUr\/D0f+i9Cibo2xg5NK49xld+KmbpSxsxigZt2vcfiVboub8tTq2eiv2r0K5mn7PH9m205\/ejDviuuGlpqf8AoaeKL9xgHwUyLjbZNQjHJBERcJhVmpGudp2tDefRE+HWrNcN7YZLJWtAyTA\/bOM7KUc0V1VenJdzINOSM\/k3RvyGtbFuSeWOaqrEX3rUlXeXj6iAGGnz8vDJP7y4xd\/Q9B0sMJPpFTxwsA5gcRyfIjxIWnslv+jLRT0pAD2ty\/H3juVZLhu9TJTfauEekUm\/Hp9zvREVJvCIiAIiIAqjVZA01WZOPVb\/APoK3Wf1tJwackbnHSSMb7d8\/JShzIp2h2oyfcywsILbDQg8+gb8F2yyshifLI4NYxpc5x6gOZUNuj6G2UsX3IWN8gFRapq5quogsFGfrKrBmcB9hmfyJPcO9dS3pEZT7Kkn1+pDamv1Hf5LvOz9UpTwUoII4iDkO9o5n2jsWsXPQ0cVvoYaSEYZE3A7z1nxO66FyUrvAlRpuEcc3mERFEuC+EAjBGQV9VXe79SWWnLpHB85H1cIO5Pf2DvXUm3ZEZzjCO9J4FXp1v0bqG52kNDYtpYxxdXV7nDyWoWd01bKv0me83MYq6oYa37rdvwHgFolKpzFGzJqnirZ28AiIoGkIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCjnhbUU8kLtmyMLT7CMKREDVzO2rSUdvr2VMtS+YQZEDDybknc+fmtEiKUpOWZXTpQpq0UERFEsCIiAIiIAszrtx+hYY27ukqGgDwd+S0yzGuQRbaWQj1WVI4j2bFTp86M21\/oSLq4V0NotjqmfLmxNAAHNx5ABVGlbZKGy3iubmqrDxNyN2NPZ2Z+AC5XD+Vt+GDm2ULv8V35\/D2rWtaGtDWgAAYAHUuvhVurIw\/Oqb\/7Vl46\/Y+oi+EgDJOAFWaz6oKuspqGEzVU7IWDrccZ9naqO4aqa6b0Kyw+nVZ2Dm7sb356\/h3qOi0pJUztrr5VPqag+t0QOGtPZ+QwFYoWxkZnXcnu0lfv6Ijff7te5HQWKkMcWSDVSj+APeV32nTFNQTel1MjqusO7pH8ge0Dt7yrmKGOCJsULGxxsGGtaMABe1xz6RwEaGO9Ud37LwQREUDSEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBQVdHT10BgqYmyxk5w4Z\/4REONJqzFJR09BTtp6WIRRN5NH8bqdEQJJKyCys9Be9RVUkVcfQLfG8jo2HLn4+Pt5dyIpRlbFFVWmqlot4fJf0Fso7ZCIqSBsYxu7HrO9p611oii3ctUVFWQREQ6EREAREQH\/9k=",
    "razonSocial": "CAROLINA ANDREA LEIVA PEREZ",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "CAROLINA LEIVA PÉREZ",
    "correoContacto": "cleivanotaria1@gmail.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INDICA QUE ESCÁNER SE QUEDA PEGADO Y ADEMÁS NO LLEGA AL PC",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+552553444",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "16:38",
    "ubicacionGPS": "LatLng(lat: -23.6480576, lng: -70.3977124)",
    "horaLlegada": "16:09",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "15",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 16:37:46 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:13458077

[09/06/2026 16:37:46] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('13458077', 'KY2797', 1, 24456550, 242347, NOW(), 
				'08:00', '16:09', '16:38', 15, '•El computador del módulo 6, al estar conectado por cable LAN, se demora en recibir la iniormación de escáner de la impresora. Esto no ocurre por wifi
•Se deja conectado por wifi
•Se crea plantilla para escanear a doble cara', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781037466.png', '', null, 'COMPLETADO','LatLng(lat: -23.6480576, lng: -70.3977124)' )
				
[09/06/2026 16:37:46] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200662

09/06/2026 16:37:46 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200662'                    
				WHERE idllamado = 12953			
				TO ENVIO: micorreo@miempresa.cl, cleivanotaria1@gmail.com


09/06/2026 16:37:46 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12953			
				
09/06/2026 16:37:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:37:46 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


09/06/2026 16:37:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:37:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12953
            GROUP BY l.idllamado;
            

09/06/2026 16:37:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:37:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:37:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:37:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:37:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:37:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12953
            GROUP BY l.idllamado;
            

09/06/2026 16:37:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12953
            GROUP BY l.idllamado;
            

09/06/2026 16:37:49 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 16:37:49 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 16:37:49] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 16:37:49] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:37:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:37:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:37:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:37:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:37:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:46:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:31 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 16:46:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:46:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:46:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:31 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 16:46:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:46:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:46:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:31 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 16:46:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:46:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:46:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:32 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 16:46:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:46:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:46:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:32 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 16:46:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:46:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:46:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:33 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 16:46:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:46:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:46:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:33 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 16:46:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

[09/06/2026 16:46:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:46:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:46:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:33 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 16:46:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:46:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:46:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:34 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 16:46:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:46:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:46:34 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 16:46:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:46:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:46:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:35 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 16:46:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:46:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:46:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:36 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 16:46:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:46:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:46:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:36 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 16:46:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:46:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:46:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:36 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 16:46:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:46:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:46:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:36 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 16:46:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:46:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:46:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:36 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 16:46:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:46:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:46:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:37 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 16:46:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:46:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:46:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:37 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 16:46:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:46:37 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 16:46:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[09/06/2026 16:46:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:46:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:46:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:37 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 16:46:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:46:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:46:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:37 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 16:46:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:46:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:46:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:37 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 16:46:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:46:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:46:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 18:15:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 18:15:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 18:15:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 18:15:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 18:15:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 18:15:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 18:15:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 18:15:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 18:15:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 18:15:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 18:15:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 18:15:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 18:15:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 18:15:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 18:15:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 18:15:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 18:15:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 18:15:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 18:15:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                
[09/06/2026 18:15:19] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 18:15:19 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 18:15:19 - INPUT: {"rutTecnico":"19969062"}[09/06/2026 18:15:19] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[09/06/2026 18:15:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 18:15:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 18:15:19 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61814000
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 09/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 08/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 05/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 05/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ANDREA IVONNE GODOY MUNOZ
            [ciudad] => TOCOPILLA
            [RutCliente] => 15012006
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 05/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => REPROGRAMADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 3518A
            [FechaLlamado] => 05/06/2026
        )

)

09/06/2026 18:15:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 19:39:36 - INPUT: {"rutTecnico":"9291721"}[09/06/2026 19:39:36] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 9291721 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '9291721'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 19:39:36 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 09/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => ESTUDIO 4525AC
            [FechaLlamado] => 09/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76318598
            [ModeloMaquina] => ESTUDIO 330
            [FechaLlamado] => 08/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76318598
            [ModeloMaquina] => ESTUDIO 330AC
            [FechaLlamado] => 08/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 05/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 05/06/2026
        )

)
[09/06/2026 19:39:36] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '9291721'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 19:39:49 - INPUT: {"rutTecnico":"9291721"}[09/06/2026 19:39:49] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 9291721 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '9291721'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 19:39:49 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 09/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => ESTUDIO 4525AC
            [FechaLlamado] => 09/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76318598
            [ModeloMaquina] => ESTUDIO 330
            [FechaLlamado] => 08/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76318598
            [ModeloMaquina] => ESTUDIO 330AC
            [FechaLlamado] => 08/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 05/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 05/06/2026
        )

)
[09/06/2026 19:39:49] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '9291721'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 19:39:54 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 19:39:54] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 19:39:54 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
09/06/2026 19:39:58 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 19:39:58] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 19:39:58 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
09/06/2026 19:40:03 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 19:40:03] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 19:40:03 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
09/06/2026 19:40:06 - INPUT: {"rutTecnico":"9291721"}[09/06/2026 19:40:06] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '9291721'
				GROUP BY anio
				ORDER BY anio DESC;
				
[09/06/2026 19:40:06] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 9291721 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '9291721'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 19:40:06 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 09/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => ESTUDIO 4525AC
            [FechaLlamado] => 09/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76318598
            [ModeloMaquina] => ESTUDIO 330
            [FechaLlamado] => 08/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76318598
            [ModeloMaquina] => ESTUDIO 330AC
            [FechaLlamado] => 08/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 05/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 05/06/2026
        )

)
[09/06/2026 19:40:25] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '9291721'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 19:40:25 - INPUT: {"rutTecnico":"9291721"}[09/06/2026 19:40:25] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 9291721 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '9291721'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 19:40:25 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 09/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => ESTUDIO 4525AC
            [FechaLlamado] => 09/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76318598
            [ModeloMaquina] => ESTUDIO 330
            [FechaLlamado] => 08/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76318598
            [ModeloMaquina] => ESTUDIO 330AC
            [FechaLlamado] => 08/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 05/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 05/06/2026
        )

)

09/06/2026 19:40:26 - INPUT: {"rutTecnico":"9291721"}[09/06/2026 19:40:26] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '9291721'
				GROUP BY anio
				ORDER BY anio DESC;
				
[09/06/2026 19:40:26] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 9291721 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '9291721'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 19:40:26 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 09/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => ESTUDIO 4525AC
            [FechaLlamado] => 09/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76318598
            [ModeloMaquina] => ESTUDIO 330
            [FechaLlamado] => 08/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76318598
            [ModeloMaquina] => ESTUDIO 330AC
            [FechaLlamado] => 08/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 05/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 05/06/2026
        )

)
